大概情况是:有一个投票页面,先登陆,登陆后通过点击一个按钮,显示出一个嵌套页面,嵌套页面上有几个控件,选择好相关内容后,最后点保存提交.我现在已经写好了,自动登陆的代码了,
procedure TForm1.Longinhtm;
begin
   a := WebBrowser1.OleObject.document.all.item('xinming',0);
   a.value := '张三';//姓名
   a:= WebBrowser1.oleobject.document.all.item('userid',0);
   a.value := '124578913213213';//身份证号
   a:=WebBrowser1.oleobject.document.all.item('password',0);
   a.value := '88888';//密码
   a:=WebBrowser1.oleobject.document.all.item('ImageButton1',0);
   a.Click;//点击登陆按钮
可以自动登陆,登陆后页面变了,网址后缀变成index.aspx这时需要点击一个按钮 Image2  会在页面的右边显示一个页面(这个页面应该是嵌套的,因为主页面没有变,从源代码里看,点击Image2时,通过连接打开了这样一个页面: href="booking/index.aspx" ) 这个页面上又有如下控件第一个下拉选择框    名字(id)   dwlkeshi   它的默认选中是 1   要求选中  2  或者直接填入文字 同意
第三个下拉选择框    名字(id)   dwlsj      它的默认选中是 1   要求选中  2  或者直接填入文字 同意
余下的是一个验证码和两个按钮了代码如下<div class="neirong_88">验 证 码:&nbsp;&nbsp;<input name="validatecode" type="text" id="validatecode" class="nn" style="height:22px;width:89px;" />&nbsp;&nbsp;<input type="image" name="ChangeCode" id="ChangeCode" src="../Validate.aspx" style="border-width:0px;" />
  </div>
<div class="tijiao">
  <input type="submit" name="Button1" value="提交保存" id="Button1" />&nbsp;&nbsp;&nbsp;&nbsp;
  <input type="submit" name="Button2" value="重新填写" id="Button2" />
  </div>
  </div>

解决方案 »

  1.   

    验证码不好搞定不过选择框可以仿照WebBrowser1.oleobject.document.all.item('userid',0);
    来填写内容
      

  2.   


    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls, OleCtrls, SHDocVw,shellapi,Registry ,WinInet,ShlObj,ComObj,
      ExtCtrls;type
      TForm1 = class(TForm)
        WebBrowser1: TWebBrowser;
        Button1: TButton;
        Button2: TButton;
        Timer1: TTimer;
        Button3: TButton;
        Button4: TButton;
        Button5: TButton;
        procedure FormCreate(Sender: TObject);
        procedure Button1Click(Sender: TObject);
        procedure Button2Click(Sender: TObject);
        procedure Timer1Timer(Sender: TObject);
        procedure Button4Click(Sender: TObject);
        procedure Button3Click(Sender: TObject);
        procedure Button5Click(Sender: TObject);  private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.dfm}
    function GetCookiesFolder:string; 
    var 
            pidl:pItemIDList; 
            buffer:array [ 0..255 ] of char ; 
    begin 
           SHGetSpecialFolderLocation( 
             application.Handle , CSIDL_COOKIES, pidl); 
           SHGetPathFromIDList(pidl, buffer); 
           result:=strpas(buffer); 
    end; 
    function ShellDeleteFile(sFileName: string): Boolean; 
    var 
          FOS: TSHFileOpStruct; 
    begin 
           FillChar(FOS, SizeOf(FOS), 0); {记录清零} 
           with FOS do 
           begin 
               wFunc := FO_DELETE;//删除 
               pFrom := PChar(sFileName); 
               fFlags := FOF_NOCONFIRMATION; 
           end; 
           Result := (SHFileOperation(FOS) = 0); 
    end; //删除cookies 
    procedure DelCookie; 
    var 
           dir:string; 
    begin 
          try 
           InternetSetOption(nil, INTERNET_OPTION_END_BROWSER_SESSION, nil, 0); 
           dir:=GetCookiesFolder;
           ShellDeleteFile(dir+'\*.txt'+#0);
           except
           abort; 
          end; end; 
    procedure TForm1.FormCreate(Sender: TObject);
    begin
       webbrowser1.Navigate('http://war3.uuu9.com/yuandan/')  ;
       timer1.Enabled:=false;end;procedure TForm1.Button1Click(Sender: TObject);
     var
        x,y:integer;   
    begin
      x:=   form1.Left+210;
      y:=   form1.Top+webbrowser1.Top+396;
      SetCursorPos(x,y);
      Mouse_Event(MOUSEEVENTF_LEFTDOWN,X,Y,0,0);
      Mouse_Event(MOUSEEVENTF_LEFTUP,X,Y,0,0);end;procedure TForm1.Button2Click(Sender: TObject);begin
        DelCookie;
    end;procedure TForm1.Timer1Timer(Sender: TObject);
    begin
         button1.Click;
         keybd_event(VK_RETURN, $a ,0,0);
         button2.Click;
    end;procedure TForm1.Button4Click(Sender: TObject);
    begin
       application.Terminate;
    end;procedure TForm1.Button3Click(Sender: TObject);
    begin
        timer1.Enabled:=true;
    end;procedure TForm1.Button5Click(Sender: TObject);
    begin
        timer1.Enabled:=false;
    end;end. 
    输入需要投票的网址,打开网页,录制一次投票全部过程,设置好需要投的次数和投票间隔