读书人

怎么自动网页提交

发布时间: 2012-02-04 15:43:09 作者: rapoo

如何自动网页提交
是不是可以用webbrowser控件 或其他控件

做到在网页对应的文本框输入内容,提交按钮上的模拟鼠标点击

如果有实例我再加分。谢谢各位了。

[解决办法]
一个例子:

Delphi(Pascal) code
var  doc: IHTMLDocument2;  all: IHTMLElementCollection;  len, i: integer;  item: OleVariant;  HtmlInputEle: IHTMLInputElement;  SubmitBtn: IHTMLButtonElement;  spDisp: IDispatch;begin  if WebBrowser1.Document <> nil then  begin    doc := WebBrowser1.Document as IHTMLDocument2;    all := doc.all;    len := all.Length;    for i := 0 to len - 1 do    begin      spDisp := all.item(i, varEmpty);      if SUCCEEDED(spDisp.QueryInterface(IHTMLInputElement, HtmlInputEle)) then      begin        if HTMlInputEle.name = 'UserID' then  // 文本框名字          HtmlInputEle.value := 'test';        if HTMlInputEle.name = 'Passwd' then // 文本框名字          HtmlInputEle.value := 'test';      end;      if SUCCEEDED(spDisp.QueryInterface(IHTMLButtonElement, SubmitBtn)) then        if SubmitBtn.name = 'submitButtonName' then  // 按钮名字          SubmitBtn.click();  // 提交    end;  end;end;
[解决办法]
Delphi(Pascal) code
unit Unit1;interfaceuses  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,  Dialogs, OleCtrls, SHDocVw, StdCtrls;type  TForm1 = class(TForm)    Button1: TButton;    wb1: TWebBrowser;    Button2: TButton;    procedure Button1Click(Sender: TObject);    procedure Button2Click(Sender: TObject);  private    { Private declarations }  public    { Public declarations }  end;var  Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);begin wb1.Navigate('http://www.g.cn');end;procedure TForm1.Button2Click(Sender: TObject);beginwb1.OleObject.document.all.item('q').value:='海地地震';  wb1.OleObject.document.all.item('btnG').click;//点击end;end. 

读书人网 >.NET

热点推荐