[delphi组件] Webbrowser的使用
delphi中Webbrowser的使用
1.获得网页中变量值
htm中<script> var currID=123</script>
程序中可以这么调用 id := Form1.WebBrowser1.OleObject.Document.script.currID
值得说明的是,变量可以是javascript定义的,也可以是vbscript定义的,如果Webbrowser1中找不到该变量,调用会触发一个异常事件,即变量currID不存在
2.执行网页中的函数
tmp := 'currID = getNextID(currID)'+#13#10;
Form1.WebBrowser1.OleObject.Document.parentWindow.execScript(tmp,'JavaScript');
调用函数的方法就是execScript接口,同样,如果函数不存在,或者运行错误也会触发脚本错误异常
3.设置网页背景
背景图片 WebBrowser1.OleObject.Document.body.background := 'http://seelearn.com/bg.gif'
背景颜色 WebBrowser1.OleObject.Document.body.bgcolor := '#eeeeee'
4.调用网页中已知对象
src := WebBrowser1.OleObject.Document.getElementByID('img1').src
该方法其实就是javascript中的 getElementByID
5.获取页面中所有的frame
使用DHTML。
frames:=wb.OleObject.document.frames;
for i:=0 to frames.length do
memo1.lines.Add(frames[i].document.body.innerHTML);
6.BorderStyle=bsNone后Webbrowser会被重新初始化
这是一个让人很意外的一个问题,Delphi在窗口控件的控制方面做得非常好,很少出现这种BUG
根据分析,出现这个现象有很多情况 改变FormStyle也会出现 ; 如果 webbrowser.parent 由panel1 改到panel2.也会导致webbrowser重新
初始化。
7.直接向Webbrowser中写入html代码,不需要Navigate到实际存在的文件
var
StrStream:TStringStream;
SetNoteStr: string;
相关文档:
Delphi键盘按键伪码
用法:if key = chr(VK_RETURN) then...
常数名称 十六进制值 十进制值 对应按键
VK_LBUTTON 01 1 鼠标的左键
VK_RBUTTON 02 2 鼠标的右键
VK-CANCEL 03 3 Contol-break 执行
VK_MBUTTON 04 4 鼠标的中键(三按键鼠标)
VK_BACK 08 8 Backspace键
VK_TAB 09 9 Tab键
VK_CLEAR 0C 12 Clear键
VK ......
<1>利用Unit的
Initalization与Finalization这两个小节
可以在Unit的这两个小节中安排Unit的进入和退出,但是
Program
与
Library并没有这两个部分,所以只能写在Unit中。
<2>利用ExitProc变量
在Library的begin
..end.中间是可以写代码
的,
这里可以放置
DLL初始化代码
。如果想要做善 ......
var
L,i:integer;
Ustr,str:string;
p:char;
begin
str:='123456789ABCDEFG'
L:=length(str);
for i:=1 to l do begin
p:=str[i];
str[i]:=str[l-(i-1)];
......
Delphi用WebBrowser编程-自动登录操作
2009年08月18日 星期二 00:39
利用Delphi的Olevariant类型
--------------------------------------------------------------------------------
单个frames的输入
var
o : Olevariant;
begin
o := WebBrowser.OleObject.document.all.item('LoginUserID',0); &nbs ......