(转)delphi chrome cef3 控件学习笔记 (四)
2016-04-27 14:19
661 查看
一、遍历网页元素并点击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;
下面代码为找到淘宝宝贝页面,成交记录元素的代码:
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;
相关文章推荐
- (转)delphi chrome cef3 控件学习笔记 (三)
- (转)delphi chrome cef3 控件学习笔记 (二)
- (转)delphi chrome cef3 控件学习笔记 (一)
- delphi 中判断windows系统是否是64位系统
- [转]HMAC functions in Delphi (HMAC_SHA256, HMAC_SHA1)
- 如何使DELPHI程序在Win7下自动请求以管理员身份运行
- delphi 动态结构数组例程
- delphi.memory.分配及释放---New/Dispose, GetMem/FreeMem及其它函数的区别与相同,内存分配函数
- Delphi指针详解
- Delphi通过MSHTML实现一个HTML解析类
- Delphi 10.1 Berlin 官方未列之修正
- 注册表写入二进制数据
- Delphi中动态调用DLL的方法
- delphi TeeChart保存3种图片文件
- 在Delphi中利用MSDASC来配置数据库链接
- Delphi 编写ActiveX控件(OCX控件)的知识和样例
- Delphi 编写DLL动态链接库文件的知识和样例
- Delphi 变体类型(Variant)的介绍(流与变体类型的相互转换、变体类型常用的函数)
- Delphi 编写ActiveForm窗体工程知识和样例(开发浏览器客户端应用程序)
- Delphi 接口技术