delphi2007 教程

delphi2007 教程

首页 新随笔 联系 聚合 管理
  1013 Posts :: 0 Stories :: 28 Comments :: 0 Trackbacks
我想问问实现填写IE浏览器中的标单啊 Delphi / Windows SDK/API
http://www.delphi2007.net/DelphiNetwork/html/delphi_20061121093527292.html
好吧~~我坦白,我想做个自动填表的东西,但是我不知道有没有办法简单的实现获取网页中的元素,有没有什么控件或者别的东西……  
   
  总不会傻到慢慢的作页面分析然后替换标单实现submit吧……我一开始的想法  
   
  估计比较笨的办法   >_<  
   
  谢谢各位了

www.programfan.com/article/showarticle.asp?id=2967

我以前写的一个投票程序   把里面代码拿出来copy给你    
   
  var  
      nmm_nn:   string;  
      nmm_strdate   :   String;  
      nmm_intz   :   Integer;  
      nmm_inty   :   string;  
      Doc:   IHTMLDocument2;  
      input:OleVariant;  
      userinputelement,pwdinputelement:ihtmlinputelement;  
  begin  
      Randomize;  
      nmm_intz   :=   Random(5000);  
      nmm_inty   :=   getphone   +   getphone   +   getphone;  
      nmm_strdate   :=   '1970-01-01';  
      nmm_nn   :=   ('320500'+   FormatDateTime('yyyymmdd',StrToDate(nmm_strdate)+nmm_intz)+nmm_inty);  
      doc:=webbrowser1.document   as   ihtmldocument2;  
      pwdinputelement:=(doc.all.item('vote',3)   as   ihtmlinputelement);  
      pwdinputelement.checked:=true;  
      userinputelement:=(doc.all.item('name',0)   as   ihtmlinputelement);  
      userinputelement.value:=getname;  
      pwdinputelement:=(doc.all.item('id',0)   as   ihtmlinputelement);  
      pwdinputelement.value   :=   nmm_nn   +   IDToNewID(nmm_nn);  
      pwdinputelement:=(doc.all.item('phone',0)   as   ihtmlinputelement);  
      pwdinputelement.value:='13'+   getphone+getphone+getphone+getphone+getphone+getphone+getphone+getphone+getphone;  
      input:=doc.all.item('submit',0);  
      input.click;  
      Sleep(100);  
      WebBrowser1.Navigate('http://www.ksren.com/movement/Movement_Vote.asp');  
  end;

谢谢楼上的两位,问其解决了不少,但是……遇到了那种下拉菜单,就是选择列表,不是文本框要怎么填写?   =   =   着急中……

public   void   SetFormInputValue(string   Name,   string   Value,   IHTMLFormElement   form)  
                  {  
                          object   o   =   form.item(Name,   0);  
                          if   (o   ==   null)   return;  
                          IHTMLElement   element   =   (IHTMLElement)o;  
                          if   (element.tagName.ToLower()   ==   "input")  
                          {  
                                  IHTMLInputElement   inputElement   =   (IHTMLInputElement)element;  
                                  inputElement.value   =   Value;  
                          }  
                          else   if   (element.tagName.ToLower()   ==   "select")  
                          {  
                                  IHTMLSelectElement   selectElement   =   (IHTMLSelectElement)element;  
                                  selectElement.value   =   Value;  
                          }  
                          else   if   (element.tagName.ToLower()   ==   "textarea")  
                          {  
                                  IHTMLTextAreaElement   textAreaElement   =   (IHTMLTextAreaElement)element;  
                                  textAreaElement.value   =   Value;  
                          }  
                  }

太感谢LS的帮助了~~终于知道为什么了   =   =   IHTMLSelectElement啊~~~眼泪

posted on 2009-05-26 17:29 delphi2007 阅读(185) 评论(0)  编辑 收藏 引用
只有注册用户登录后才能发表评论。