在WebBrowser中,如何编写代码自动点击一张图片???(50分)

  • 主题发起人 主题发起人 whiledo2003
  • 开始时间 开始时间
W

whiledo2003

Unregistered / Unconfirmed
GUEST, unregistred user!
我已经知道了如何使用WebBrowser自动填充网页,然后自动点击"提交"按钮。
但是,上面的前提是在网页的source code中找到那么按钮或文本框的 name属性。
当我想点击一张图片的时候,上面的方法就行不通了(我想是因为图片不是控件的缘故!)
下面是某网站的"注销"按钮在网页中的代码:
<TD><A class=xxx href="javascript:logout()"><IMG height=16 src="http://xxx.xxx.com/xxx/images/pic_a22.gif" width=16 border=0></A></TD>
仔细查看代码就会发现,该注销按钮是一张图片,并且只有 src的地址连接,然后有个
javascript:logout()的函数,不知道如何编写代码产生对该图片的click事件??
 
var IHtmlWin:IHTMLWindow2;
IHtmlDoc:IHtmlDocument2;
s:string;
begin
IHtmlDoc:= web.Document as IHtmlDocument2 ;
IHtmlWin:=IHtmlDoc.parentWindow;
s:='logout();';
IHtmlWin.execScript(s,'javascript');
end;

我是这样做的 ^^
 
我也正在考虑这个问题,请楼上的楼上麻烦给一些你的原码好吗?我也正在做类似的东东,如何查找网页中的控件呢?并且向文本框中填写文字并点提交按钮进行提交?
  能发一些原码给我吗?我的email yyp8015@21cn.com
  谢谢!
 
我也正研究这个问题
 
submit a Form in TWebbrowser with an image submit button?

Author: Jailbird <jailbird@gmx.ch>
Homepage: http://www.tooldesign.ch

Category: Internet / LAN


{
If you have a webpage with a Form on it, but the submit - button is an image,
you can use this code (using a TWebBrowser)
}

{
Falls du eine Webpage mit einem Formular hast,
bei welchem der Submit-Knopf ein Bild ist,
dann kannst du diesen Code benutzen (sowie ein TWebBrowser)
}

uses
MSHTML;

var
iDoc: IHtmlDocument2;
i: integer;
ov: OleVariant;
iDisp: IDispatch;
iColl: IHTMLElementCollection;
InputImage: HTMLInputImage;
begin
WebBrowser1.ControlInterface.Document.QueryInterface(IHtmlDocument2, iDoc);
if not Assigned(iDoc) then
begin
Exit;
end;
ov := 'INPUT';
iDisp := iDoc.all.tags(ov);
if Assigned(IDisp) then
begin
IDisp.QueryInterface(IHTMLElementCollection, iColl);
if Assigned(iColl) then
begin
for i := 1 to iColl.Get_length do
begin
iDisp := iColl.item(pred(i), 0);
iDisp.QueryInterface(HTMLInputImage, InputImage);
if Assigned(InputImage) then
begin
if InputImage.Name = 'submit' then
// if the name is submit / falls der name submit lautet
begin
InputImage.Click; // click it / klick es
end;
end;
end;
end;
end;
end;

 
楼上Inputimage和普通的img不是一回事,普通的img之所以能提交,是因为有OnClick
事件or"Href=javascript:xxx",调用了javascript。
 
后退
顶部