转自:http://blog.163.com/hehaifeng1984@126/blog/static/6900113620133504644998/

 

我们以百度搜索为例,使用webbrowser组件自动在表单中填写信息,并提交出去。

首先从百度首页源代码中寻找表单信息,最关键的信息如下:

<formname="f"action="">

<input type="text"name="wd">

<inputtype="submit"value="百度一下" ></form>

   可以看到,百度的搜索表单的Name参数值是“f”,只有一个字母。而文本输入框的名字叫wd。我们只要设置wd的值就可以自动填写表单了。

   在窗体中拖一个WebBrowser组件和两个按钮组件,按钮1填写表单,按钮2提交数据,在窗口载入时打开百度首页:

procedure TForm1.FormCreate(Sender: TObject);
begin
  webbrowser1.Navigate('http://www.baidu.com');
end;


procedure TForm1.BitBtn1Click(Sender: TObject);
var  o:OleVariant;
begin
 o := WebBrowser1.OleObject.document.all.item( 'wd',0); //找到输入框
 o.value := '凌云阁';
end;
procedure TForm1.BitBtn2Click(Sender: TObject);
var o:OleVariant;
begin
  o:=WebBrowser1.oleobject.document.all.item('f',0);   //提交数据
  o.submit;
end;

上面的代码中,我们事先已经知道了表单和输入框的名字,使用WebBrowser1.OleObject.document.all.item( 'wd',0)找到输入框对象,用value方法输入数据。

由于百度的提交数据按钮没有name属性,只能利用表单的name属性,采用提交表单的方式提交。我们使用WebBrowser1.oleobject.document.all.item('f',0)找到表单对象。然后用sumit方法提交。

相关文章:

  • 2021-11-27
  • 2021-07-29
  • 2021-12-08
  • 2022-12-23
  • 2022-02-26
  • 2021-12-01
  • 2022-12-23
猜你喜欢
  • 2021-08-14
  • 2022-01-25
  • 2021-10-06
  • 2022-01-21
  • 2022-12-23
  • 2022-02-23
  • 2022-12-23
相关资源
相似解决方案