急!!! 2 5 0 大洋 献上……(不够在加)(250分)

  • 主题发起人 主题发起人 aolong
  • 开始时间 开始时间
A

aolong

Unregistered / Unconfirmed
GUEST, unregistred user!
本人近期欲在程序中通过某种方法控制TWebBrowser控件的运作,具体如下:
假设本人欲将网页中名为“提交”的按钮,通过程序自动按下。不知如何进行,请指教(详细点)
 
在D5光盘的info/Extras/Sendkeys目录有个Sndkey32.pas,调用里面的Sendkeys函数,
在WebBrowser获得焦点的时候,向它发送回车键即可。
Sendkeys('~',true);// press RETURN key
在论坛里好像还有其他解决办法,比如分析网页源文件,找到"Submit"关键字等等,
我以为还是我的方法比较简单,好用。
 
老兄,网页中可不止一个button,按回车又有何用?
 
还是用handle,不过具体怎么用,还得问高手!!! LISTEN……
 
刚好我才做过类似的问题,以下是我的源代码,应该算详细的吧,呵呵!
uses mshtml;

procedure TForm1.Button3Click(Sender: TObject);
var
TAROBJ:OLEVARIANT;
i:integer;
begin
TarOBJ:= WebBrowser1.OleObject.Document;
for i:= 0 to TarOBJ.All.Length - 1 do
begin
if (TarOBJ.all.item(i).tagname = 'INPUT')and(TarOBJ.all.item(i).type='submit') then
begin
TarOBJ.all.item(i).Click;
end;
end;
end;
 
To TonyWang:
网页中当然可以不止一个Button,但是Submit一般只有一个(就象一个窗体只有一个
Default按钮一样),发送回车键,自然就是点“提交”,如果有不止一个的Submit,
连IE 5自己都无法处理!!!
所以,对这个问题而言,我的方法绝对可行。
 
补充一点:
如果不是自动按button,而是文本链接或图片连接,该如何?
 
象Tab那样找到对象后再发消息.
 
赞同用tab的方式
 
多人接受答案了。
 
后退
顶部