操作webbrowser页面输入框元素

操作webbrowser页面输入框元素

  

加入单元mshtml

演示表单提交

procedure TForm1.Button1Click(Sender: TObject); var Doc:IHTMLDocument2; input:OleVariant; userinputelement,pwdinputelement:ihtmlinputelement; begin doc:=webbrowser1.document as ihtmldocument2; userinputelement:=(doc.all.item('user'(也就是网页中用户名控件的名字),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;

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 //  名称' 
      myitem.Links.item(i).click;// 模拟点击超链接
  end;
end;

你可能感兴趣的:(网络开发)