某个网站它的确定按钮是个image,我用
ov: OleVariant;
ov :=wb.OleObject.document.all.item('Username',0);
ov.Value :='liukang916';
ov := wb.OleObject.document.all.item('Password',0);
ov.Value := '123456';
ov := wb.OleObject.document.all.item('do',0);   {找到发送按钮}
ov.Click;
运行了没反应~
UserName和pPassword都运行正常~
do是那个图标的名称,我把那个网页复制到office2000下看的~

解决方案 »

  1.   

    直接发送不行吗?
    ...
    wb.OleObject.Document.formname.Submit;
      

  2.   

    怪了,<input type="image"...>这样的元素取不出来……
      

  3.   


     If you have a webpage with a Form on it, but the submit - button is an image, 
     you can use this code (using a TWebBrowser) 
    } { 
     Falls du eine Webpage mit einem Formular hast, 
     bei welchem der Submit-Knopf ein Bild ist, 
     dann kannst du diesen Code benutzen (sowie ein TWebBrowser) 
    } uses 
      MSHTML; var 
      iDoc: IHtmlDocument2; 
      i: integer; 
      ov: OleVariant; 
      iDisp: IDispatch; 
      iColl: IHTMLElementCollection; 
      InputImage: HTMLInputImage; 
    begin 
      WebBrowser1.ControlInterface.Document.QueryInterface(IHtmlDocument2, iDoc); 
      if not Assigned(iDoc) then 
      begin 
        Exit; 
      end; 
      ov := 'INPUT'; 
      iDisp := iDoc.all.tags(ov); 
      if Assigned(IDisp) then 
      begin 
        IDisp.QueryInterface(IHTMLElementCollection, iColl); 
        if Assigned(iColl) then 
        begin 
          for i := 1 to iColl.Get_length do 
          begin 
            iDisp := iColl.item(pred(i), 0); 
            iDisp.QueryInterface(HTMLInputImage, InputImage); 
            if Assigned(InputImage) then 
            begin 
              if InputImage.Name = 'submit' then 
              // if the name is submit / falls der name submit lautet 
              begin 
                InputImage.Click;  // click it / klick es 
              end; 
            end; 
          end; 
        end; 
      end; 
    end; // 2. procedure TForm1.Button1Click(Sender: TObject); 
    var 
      i: Word; 
      Document: IHtmlDocument2; 
      str: string; 
    begin 
      // Schleife über alle Bilder im Webbrowser 
      for i := 0 to WebBrowser1.OleObject.Document.Images.Length - 1 do 
      begin 
        Document := WebBrowser1.Document as IHtmlDocument2; 
        // URL auslesen 
        Str := (Document.Images.Item(i, 0) as IHTMLImgElement).Href; 
        // Dateiname des Bildes überprüfen 
        if Pos('submit_icon.gif', str) <> 0 then 
        begin 
          ((Document.Images.Item(i, 0) as IHTMLImgElement) as IHTMLElement).Click; 
        end; 
      end; 
    end;
      

  4.   

    经过测试,下面代码通过:
      找到那个image的名字,如<input type="image' src="..." name="aimg">
      ov := wb.OleObject.document.all.item('aimg',0);
        ov.click;
      

  5.   

    这个贴子我早上发的,今天csdn有问题,下午才贴出来,后来我尝试了下,应为那个按钮实际
    是个image,所以
    ov := wb.OleObject.document.all.item('aimg',0);
    ov.click;
    运行了是没有反映的,必须把0改称1
    ov := wb.OleObject.document.all.item('aimg',1);
    我看的是Delphi英文的Helper也没理解的太清楚,只知道这么做就可以了~