delphi chrome cef3 控件

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

2016年04月27日 14:19:48 一葉輕舟 阅读数:4177

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/risesoft2012/article/details/51260834

一、遍历网页元素并点击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;

发布了55 篇原创文章 · 获赞 54 · 访问量 19万+

猜你喜欢

转载自blog.csdn.net/Golden_soft/article/details/90792457