Delphi 11使用TEdgeBrowser,获取HTML元素

5jdjgkvh  于 2022-11-23  发布在  其他
关注(0)|答案(1)|浏览(792)

有一些页面,其中包含:

<input type="input" id='input_value' ...>
<button id='btn_find' ... >
<input type="checkbox" name="chbox1" ...">

对于memo 1中的每个字符串,我需要:
1.将字符串放入input_value中,
1.点击按钮查找,
1.等待几秒钟(直到页面加载完成或3秒钟)
1.如果字符串存在,则会出现chbox 1,我们必须单击它
1.如果string不存在,chbox 1不可见我们必须在memo 2行添加string;我使用TEdgeBrowser

for i := 0 to memo1.lines.Count - 1 do    begin
 js:='document.getElementById("input_value").value="'+memo1.lines[i]+'"';
 EdgeBrowser1.ExecuteScript(js);
 EdgeBrowser1.ExecuteScript('document.getElementById("btn_find").click()');
 Delay(3000);
 // here I must check if the chbox1 visible 
if {chbox1 visible} then
   EdgeBrowser1.ExecuteScript('document.getElementsByName("chbox1")[0].click()')
   else memo2.lines.add(memo1.lines[i]);
 end;
dfddblmv

dfddblmv1#

您可以使用下列程式码来检查核取方块是否可见:

if EdgeBrowser1.ExecuteScript('document.getElementsByName("chbox1")[0].offsetParent !== null') then
   EdgeBrowser1.ExecuteScript('document.getElementsByName("chbox1")[0].click()')
   else memo2.lines.add(memo1.lines[i]);

相关问题