我想写个自动登录百度的软件,但是不知道哪里错了高不来
我代码贴下你们帮我看
procedure TForm1.Button1Click(Sender: TObject);
var
Doc:IHTMLDocument2;
input,o:OleVariant;
userinputelement,pwdinputelement:ihtmlinputelement;
begin
doc:=webbrowser1.document as ihtmldocument2;
userinputelement:=(doc.all.item('Username',0) as ihtmlinputelement);
userinputelement.value:=edit1.text;
pwdinputelement:=(doc.all.item('password',0) as ihtmlinputelement);
pwdinputelement.value:=edit2.text;
input:=doc.all.item(' 登录 ',0);
input.click;
end;-------------------------------------------------------------------<TD class=f14 width=50>用户名:</TD>
<TD width=156><INPUT class=ip id=username
onchange="chechUserOld('username')" name=username></TD></TR>
<TR id=trPassNorm style="DISPLAY: none">
<TD class=f14 vAlign=top width=50>密 码:</TD>
<TD width=156><INPUT class=ip id=normModPsp type=password></TD></TR>
<TR id=trPassSafe style="DISPLAY: none">
<TD class=f14 vAlign=top width=50>密 码:</TD>
<TD><input type=submit value=" 登录 "> <A
href="https://passport.baidu.com/?getpass">忘记密码?</A></TD>
</TR></FORM></TBODY></TABLE>
我代码贴下你们帮我看
procedure TForm1.Button1Click(Sender: TObject);
var
Doc:IHTMLDocument2;
input,o:OleVariant;
userinputelement,pwdinputelement:ihtmlinputelement;
begin
doc:=webbrowser1.document as ihtmldocument2;
userinputelement:=(doc.all.item('Username',0) as ihtmlinputelement);
userinputelement.value:=edit1.text;
pwdinputelement:=(doc.all.item('password',0) as ihtmlinputelement);
pwdinputelement.value:=edit2.text;
input:=doc.all.item(' 登录 ',0);
input.click;
end;-------------------------------------------------------------------<TD class=f14 width=50>用户名:</TD>
<TD width=156><INPUT class=ip id=username
onchange="chechUserOld('username')" name=username></TD></TR>
<TR id=trPassNorm style="DISPLAY: none">
<TD class=f14 vAlign=top width=50>密 码:</TD>
<TD width=156><INPUT class=ip id=normModPsp type=password></TD></TR>
<TR id=trPassSafe style="DISPLAY: none">
<TD class=f14 vAlign=top width=50>密 码:</TD>
<TD><input type=submit value=" 登录 "> <A
href="https://passport.baidu.com/?getpass">忘记密码?</A></TD>
</TR></FORM></TBODY></TABLE>
解决方案 »
- TstringList奇怪错误,地址错误?
- 为什么动态创建的控件删除后还显示?
- 100分!为什么dll中的窗体无法相应tab和Enter键?
- 不知道DELPHI有什么好的日历控件啊?
- 請教關於內存釋放的問題。(動態建立的控件保存在Tlist中)
- 怎样连接Access数据库和slq2000
- =============两个类型转换的问题=============
- 1stClass的outlook效果不好,有没有xp效果的,delphi5?100分,立即结账
- 有你真好
- 关于按钮的问题怎样才能设计出象windows程序工具栏按钮
- idtcpclient收信息问题!
- delphi中怎么实现远程上传下载文件包
procedure TForm13.Button1Click(Sender: TObject);
var
FHTTP:TIdHTTP;
PostStream:TStringList;
ResultStream:TStringStream;
ResultStream1:TStringStream;
begin
FHTTP:=TIdHTTP.Create(nil);
FHTTP.AllowCookies:=True;
FHTTP.HandleRedirects:=True;
PostStream:=TStringList.Create;
ResultStream:=TStringStream.Create('');
ResultStream1:=TStringStream.Create('');
try
PostStream.Add('tpl_ok=');
PostStream.Add('next_target=');
PostStream.Add('tpl=mn');
PostStream.Add('skip_ok=');
PostStream.Add('aid=');
PostStream.Add('need_pay=');
PostStream.Add('need_coin=');
PostStream.Add('pay_method=');
PostStream.Add('u=./');
PostStream.Add('return_method=get');
PostStream.Add('more_param=');
PostStream.Add('return_type=');
PostStream.Add('psp_tt=0');
PostStream.Add('password=百度用户名');
PostStream.Add('safeflg=0');
PostStream.Add('username=密码');
PostStream.Add('verifycode=');
FHTTP.Get('http://passport.baidu.com/?login&tpl=mn');
FHTTP.Post('http://passport.baidu.com/?login',PostStream,ResultStream);
FHTTP.Get('http://passport.baidu.com/',ResultStream1);
Memo1.Text:=ResultStream1.DataString;
finally
if FHTTP.Connected then FHTTP.Disconnect;
if Assigned(FHTTP) then FreeAndNil(FHTTP);
if Assigned(PostStream) then FreeAndNil(PostStream);
if Assigned(ResultStream) then FreeAndNil(ResultStream);
if Assigned(ResultStream1) then FreeAndNil(ResultStream1);
end;
end;哥们,已经帮你实现了,结贴散分吧,呵呵
procedure TForm1.Button1Click(Sender: TObject);
const
url ='http://passport.baidu.com/?login';
var
param : TStringList;
begin
idhttp1.Request.SetHeaders;
param := TStringList.Create;
param.add('tpl_ok=');
param.add('next_target=');
param.Add('tpl=tb');
param.add('skip_ok=');
param.add('aid=');
param.Add('needpay=');
param.add('need_coin=');
param.add('pay_method=');
param.Add('u=http://tieba.baidu.com/f&return_method=get&more_param=kw=XXX');
param.Add('return_type=');
param.add('psp_tt=0');
param.add('username='+'nio23');
param.add('password='+'2034842');
param.add('mem_pass=1');
idhttp1.HandleRedirects := true;
idhttp1.Request.Referer := 'http://tieba.baidu.com/f?kw=XXX';
memo1.lines.add(idhttp1.post(url,param));
procedure TForm14.Button1Click(Sender: TObject);
var
Doc:IHTMLDocument2;
input:IHTMLFormElement;
userinputelement,pwdinputelement:IHTMLInputElement;
begin
WebBrowser1.Navigate('http://passport.baidu.com/?login&tpl=mn');
while WebBrowser1.ReadyState<>4 do
Application.ProcessMessages;
Doc:=WebBrowser1.Document as IHTMLDocument2;
userinputelement:=(Doc.all.item('username',varEmpty) as IHTMLInputElement);
userinputelement.value:='用户名';
pwdinputelement:=(Doc.all.item('normModPsp',varEmpty) as IHTMLInputElement);
pwdinputelement.value:='密码';
Doc.parentWindow.execScript('checkForm(this);','JavaScript');
input:=Doc.forms.item(0,varEmpty) as IHTMLFormElement;
if input<>nil then input.submit;
end;
Delphi2007+Indy10调试环境中,测试通过!!!我已经用WebBrowser给你搞定了,记得散分!!!