delphi自动填表单:Delphi实现网页表单数据的自动提交

    MSHTML是微软公司个COM组件该组件封装了HTML语言中所有元素及其属性通过其提供标准接口可以访问指定网页所有元素.MSHTML对象模型是由些对象和集合组成.处于根部是HTML描述了打开页面1个窗口包括系列集合和对象如Frames集合HistoryLocationNavigatorDocumentVi—sumEvent对象等.其中描述呈现在客户窗口实际网页是Document对象系列属性、思路方法、对象和集合组成.其中All集合中包含网页中所有标记(Tag)元素其主要思路方法和属性有:
  (1)Length(长度):即标记出现个数可以把标记集合理解为从0开始其次序按照标记在网页位置排列;
  (2)Tags(标记):用于过滤出给定标记集合如Doc.Al1.Tags(P)得到所有分段标记P;
  (3)Item(项目):用于选择集合中某1个元素如object.item(0)得到集合第1个元素而object.item(i)得到第i+1个元素.
此外IHTMLElement也是个常用集合对象代表网页中指定标记集合通过这个集合对象可以得到网页上特定标记内容.IHTMLElement有4个主要属性:
  (1)InnerText:开始标记和结束标记的间文本;
  (2)InnerHTML:开始标记和结束标记的间文本和HTML;
  (3)OuterText:对象文本;
  (4)OuterHTML:对象文本和HTML.

procedure TForm1.Button1Click(Sender: TObject);
var
Doc:IHTMLDocument2;
input:OleVariant;
userinputelement,pwdinputelement:ihtmlinputelement;
begin
doc:=webbrowser1.document as ihtmldocument2;
userinputelement:=(doc.all.item(''user''(也就是网页中用户名Control控件名字),0) as ihtmlinputelement);
userinputelement.value:=edit1.text;(也就是你要向网页输入东西)
pwdinputelement:=(doc.all.item(''password'',0) as ihtmlinputelement);
pwdinputelement.value:=edit2.text;
input:=doc.all.item(''submit'',0);
input.click;
end;

  当提交数据按钮没有NAME属性时采用如下思路方法:


procedure TForm1.Button1Click(Sender: TObject);
var
Doc:IHTMLDocument2;
form:ithmlformelement;
userinputelement,pwdinputelement:ihtmlinputelement;
begin
doc:=webbrowser1.document as ihtmldocument2;
userinputelement:=(doc.all.item(''user''(也就是网页中用户名Control控件名字),0) as ihtmlinputelement);
userinputelement.value:=edit1.text;(也就是你要向网页输入东西)
pwdinputelement:=(doc.all.item(''password'',0) as ihtmlinputelement);
pwdinputelement:=edit2.text;
form:=(doc.all.item(''login_form'',0) as ihtmlformelement):form.submit;
end;

  登录"按钮般都是网页中默认回车按钮,所以可以用上面代码来代替前面点击按钮.
Tags:  禁止表单自动提交 asp自动提交表单 表单自动提交 delphi自动填表单

延伸阅读

最新评论

发表评论