大概情况是:有一个投票页面,先登陆,登陆后通过点击一个按钮,显示出一个嵌套页面,嵌套页面上有几个控件,选择好相关内容后,最后点保存提交.我现在已经写好了,自动登陆的代码了,
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">验 证 码: <input name="validatecode" type="text" id="validatecode" class="nn" style="height:22px;width:89px;" /> <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" />
<input type="submit" name="Button2" value="重新填写" id="Button2" />
</div>
</div>
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">验 证 码: <input name="validatecode" type="text" id="validatecode" class="nn" style="height:22px;width:89px;" /> <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" />
<input type="submit" name="Button2" value="重新填写" id="Button2" />
</div>
</div>
来填写内容
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.
输入需要投票的网址,打开网页,录制一次投票全部过程,设置好需要投的次数和投票间隔