delphi chrome cef3 控件学习笔记 (四)

来源:互联网 发布:怎样化妆 知乎 编辑:程序博客网 时间:2024/05/16 01:49

一、遍历网页元素并点击js:

下面代码为找到淘宝宝贝页面,成交记录元素的代码:

for(var i=0;i<document.getElementsByTagName("A").length;i++){var a;
       var d=document.getElementsByTagName("A")[i];
       var s=document.getElementsByTagName("A")[i].innerHTML;
       if(s!=null){
       if(s.indexOf("成交记录")>-1){
            a=document.getElementsByTagName("A")[i];alert(a.innerHTML);
           ClickElement(a);  //由于chromium控件元素不支持click事件,所以需要自己重新绑定事件

           break;
       }}}

//-----------------点击元素的代码------------------------------

function ClickElement(AObj) {  
    var e = document.createEvent("MouseEvent");
    e.initEvent("click", false, false);
    AObj.dispatchEvent(e);
}




二、根据ID或Name获取元素

1.根据ID

var a=document.getElementById("元素id");

2.根据Name

var b=document.getElementsByName("元素name").item(0);

b.setAttribute("value","输入值");


三、如何在Delphi中直接操作Document接口

Button1.OnClick:
  chrm1.Browser.MainFrame.VisitDomProc(ChrmDomProc);


procedure ChrmDomProc(const doc : ICefDomDocument);  //其他接口有待自己研究
var
  s : string;
begin
   doc.GetElementById('txtUsername').SetElementAttribute('Value','abc');
   s := doc.GetElementById('txtUsername').GetValue;
   showmessage(s);
end;

阅读全文
0 0