操作webbrowser页面输入框元素

操作webbrowser页面输入框元素

  <p style="margin: 10px auto; font-family: verdana, sans-serif; font-size: 13px; line-height: 19.5px;">加入单元mshtml</p><p style="margin: 10px auto; font-family: verdana, sans-serif; font-size: 13px; line-height: 19.5px;"><span style="font-size:14px;"><strong>演示表单提交</strong></span></p><p style="margin: 10px auto; font-family: verdana, sans-serif; font-size: 13px; line-height: 19.5px;"><span face="Courier New" style="font-family: 'Courier New';">procedure TForm1.Button1Click(Sender: TObject);
var
   Doc:IHTMLDocument2;
<span style="font-family: 'Courier New'; font-size: 13px; line-height: 19.5px; white-space: pre; background-color: rgb(240, 240, 240);">   </span>input:OleVariant;
<span style="font-family: 'Courier New'; font-size: 13px; line-height: 19.5px; white-space: pre; background-color: rgb(240, 240, 240);">   </span>userinputelement,pwdinputelement:ihtmlinputelement;
begin
<span style="font-family: 'Courier New'; font-size: 13px; line-height: 19.5px; white-space: pre; background-color: rgb(240, 240, 240);">   </span>doc:=webbrowser1.document as ihtmldocument2;
<span style="font-family: 'Courier New'; font-size: 13px; line-height: 19.5px; white-space: pre; background-color: rgb(240, 240, 240);">   </span>userinputelement:=(doc.all.item('user'(也就是网页中用户名控件的名字),0) as ihtmlinputelement);
<span style="font-family: 'Courier New'; font-size: 13px; line-height: 19.5px; white-space: pre; background-color: rgb(240, 240, 240);">   </span>userinputelement.value:=edit1.text;(也就是你要向网页输入的东西)
<span style="font-family: 'Courier New'; font-size: 13px; line-height: 19.5px; white-space: pre; background-color: rgb(240, 240, 240);">   </span>pwdinputelement:=(doc.all.item('password',0) as ihtmlinputelement);
<span style="font-family: 'Courier New'; font-size: 13px; line-height: 19.5px; white-space: pre; background-color: rgb(240, 240, 240);">   </span>pwdinputelement.value:=edit2.text;
<span style="font-family: 'Courier New'; font-size: 13px; line-height: 19.5px; white-space: pre; background-color: rgb(240, 240, 240);">   </span>input:=doc.all.item('submit',0);
<span style="font-family: 'Courier New'; font-size: 13px; line-height: 19.5px; white-space: pre; background-color: rgb(240, 240, 240);">   </span>input.click;
end;</span></p> <pre name="code" class="delphi">1. 自动填写表单并发布

两种方法 var i:integer; Doc:IHTMLDocument2; input:OleVariant; userinputelement,pwdinputelement,ValidateElement:ihtmlinputelement; ValidateImage: IHTMLImgElement; imagecount:integer; form:ihtmlformelement; myitem:Olevariant;begin Doc:=WebBrowser1.document as ihtmldocument2; if doc=nil then exit;// 第一种方式 userinputelement:=(doc.all.item('nicknameId',0) as ihtmlinputelement); userinputelement.value:=edit7.text;
 
  pwdinputelement:=(doc.all.item('pwd',0) as ihtmlinputelement);
  pwdinputelement.value:=edit8.text;

  pwdinputelement:=(doc.all.item('name',0) as ihtmlinputelement);
  pwdinputelement.value:=edit9.text;

  myitem:=WebBrowser1.document;

// 第二种方式 并可操作 combo radio select 元素表
  for i:=0 to myitem.all.length-1 do
  begin
    ///
    if myitem.all.item(i).tagName = 'SELECT' then // 下拉框选择
    begin
      if myitem.all.item(i).Name='birth_year' then  
       myitem.all.item(i).value:='1980'; //     

    end;

    if myitem.all.item(i).tagName = 'INPUT' then   
    begin
      if Uppercase(myitem.all.item(i).type)='RADIO' then  
      begin
        if myitem.all.item(i).value='男生' then myitem.all.item(i).checked:=true; // 选中值是 '求'的选项
      end;

     if Uppercase(myitem.all.item(i).type)=Text then  
      begin

          myitem.all.item(i).value='';
       end;
    end;

  end;

2.操作超链接

  var
 i:integer;
 myitem:Olevariant;
begin    //xid_reg_handle
  myitem:=WebBrowser1.document;

  // 第一种方式
 aVal:=myitem.getElementById('xid_reg_handle').href;
   myitem.getElementById('xid_reg_handle').click;  // 模拟点击超链接
  showmessage(InttosTr(myitem.Links.length));  

  for i:=0 to myitem.Links.length-1 do
  begin

     // myitem.Links.item(i).href // hrefUrl 可获取
    if myitem.Links.item(i).innertext='名称' then // <a href=''> 名称' </a>
      myitem.Links.item(i).click;// 模拟点击超链接
  end;
end;

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值