如何自动网页提交
是不是可以用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.