11月 13th, 2009

delphi中webbrowser控件使用的小技巧

Category: delphi, Author: admin, Popularity: 21%

1>调用网页中已知对象
src := WebBrowser1.OleObject.Document.getElementByID(‘id1′).src
其实就是javascript中的 getElementByID 的函数

2>获得网页中的某个变量值
Html中的代码 : <script> var userID=123</script>
在delphi程序中这么调用
id := Form1.WebBrowser1.OleObject.Document.script.userID
userID变量可以是javascript定义的,也可以是vbscript定义的。如果Webbrowser1中找不到该变量,调用会触发一个异常事件,即变量userID不存在

3>调用网页中的函数
sRun := ‘userID = getNextID(userID)’+#13#10;
Form1.WebBrowser1.OleObject.Document.parentWindow.execScript(sRun,’JavaScript’);
调用函数的方法就是execScript接口。如果函数不存在,或者运行错误会触发脚本错误异常

4>获取页面中所有的frame
//获得frame对象数组frames
frames:=wb.OleObject.document.frames;
for i:=0 to frames.length do
memo1.lines.Add(frames[i].document.body.innerHTML);

5>如果页面中存在iframe,如何判断页面是否完全下载结束
注意: 每个iframe下载完毕都会触发DocumentComplete事件,所以一个页面在真正下载完毕前可能被触发多次!

procedure TForm1.WebBrowser1DocumentComplete(Sender: TObject; const pDisp: IDispatch; var URL: OleVariant);
begin
if WebBrowser1.Application = pDisp then showmessage(‘页面已全部下载完毕’)
end;

相关日志

Tags:, , , .
评论数量() | Add Comments
本文网址:http://www.9usb.net/200911/delphi-webbrowser-jiqiao.html

There are No comments.

» You can leave a response

leave a reply