Delphi知识中心
www.delphi.ee
提供Delphi技术知识
与Delphi程序员共同进步


在线服务QQ:99923144 随时恭候您的光临
首页 基础知识 WIN系统 组件使用 组件开发 数据库 ACTIVEX 多媒体技术 网络技术 关于
文章类别:网络技术    你尚未登陆,会员功能无法使用,请从 网站首页 登陆。
  WebBrowser自動提交表單  
 
WebBrowser自動提交表單

1,通過Submit提交 :

有ID 或者Name 提交方法: web.oleobject.document.all.item('sub').click;

無ID 無Name 提交方法 :

for i := 0 to web.OleObject.Document.all.tags('Input').Length - 1 do begin
startag := web.oleobject.document.all.tags('input').item(i);
if startag.type =submit then
web.oleobject.document.all.tags('input').item(i).click;//(獲取這個i以后,如果網頁內容是固定的就可以直接用上面一句,改I為實際的數字);
end;

2,通過表單名提交

同樣有ID或者Name 提交方法:

web.oleobject.document.all.item('表單name或者ID').submit;

或者:.web.oleobject.document.getelementbyid('對應的ID').click;

無ID 無name 提交方法 :

web.OleObject.document.getElementsByTagName('form').item(0).submit;

或者:web.OleObject.document.frames.item(0).click;//其中itme(0)表示第一個表單

關於用Delphi 自動提交表單 以及自動填表 自動點擊鏈接

---------------------------------------------2009年3月26日------------------------------------------

[自動點擊鏈接]

1,直接用Webbrowser 打開:Webbrowser.navigae('網址');

2,用歷遍的方法點擊包含有指定字符的連接:

for i := 0 to wb.OleObject.Document.links.Length - 1 do begin
str := wb.oleobject.document.links.item(i).innertext;//表示被連接的文字
if ansicontainsstr(str,edit1.Text) then //如果包含指定字符將點擊
wb.OleObject.Document.links.item(i).click;

end;

3,無明連接的連接,如連接,

連接
,
    連接
等等這類是事件連接用兩種方法

(1),對於有ID或者name 的就好處理:web.oleobject.document.getelementbyid('對應的ID').click;

(2),多數時候是有ID 或者NAME的因為要與事件關聯,遇到沒有ID或NAME的時候用歷遍標籤的方法來獲取

for i := 0 to wb.OleObject.Document.all.tags('標籤如:DIV').Length - 1 do begin
str:= wb.oleobject.document.all.tags('標籤).item(i).innertext;
if ansicontainsstr(str,'指定字符串') then begin
wb.oleobject.document.all.tags('標籤').item(i).click;
exit;end;
end;

有種情況就是即使找到指定標籤或者連接點擊了可是沒有反應就用下麵兩種方法: wb.OleObject.document.all.item('標籤ID或NAME').select;//光標定位到標籤上
keybd_event(13,0,0,0);//發送一次回車鍵。

那有的時候發送回車鍵也沒有用呢?那就用:

Wb.OleObject.document.all.tags('DIV').item(第N個DIV就是數字比如:10).FireEvent ('onmousedown',EmptyParam);
Wb.OleObject.document.parentWindow.document.all.tags('DIV').item(10).FireEvent ('onmouseup',EmptyParam);//發送一個虛擬的鼠標按鍵動作

到目前為此本人就只遇到這些類型的連接了。當然FLASH里面的沒有研究過。

 

在线服务QQ:99923144 Delphi程序员QQ群(139442)
Delphi知识中心 www.delphi.ee 最专业的Delphi技术资料网站