关于Twebbrowser问题(50分)

  • 主题发起人 主题发起人 liunini
  • 开始时间 开始时间
L

liunini

Unregistered / Unconfirmed
GUEST, unregistred user!
请问在webbrowser1里怎样用程序实现将密码和用户名添入并按下提交按钮。
 
请参看我发的一个贴子:
http://www.delphibbs.com/delphibbs/dispq.asp?lid=2429833
 
现在遇到了一个问题
我想用webbrowser连续获得不同的网页中的内容
但是 再重新navigate后,并没有调用DocumentComplete事件
也就是说 我无法获得新的网页的源码
 
帮帮忙吧!
 
帮帮忙吧!
 
你得事先分析出要取得的HTML文件,提取出必需的信息才可用程序控制。
 
fei_l:
我实在按钮的click事件中navigate,然后分析获得的源码,取出需要的内容,这些内容事以后网页的url中的一部分,然后根据这些内容曲循环打开不同的网页,将他们的原码获得,并在此提取出内容,保存到数据库里,现在的问题是,在循环中的navigate后不能触发documentcomplete事件,要等调出循环后他才会触发,也就是说我不能及时获得源吗!这是什么原因?解决的方法是什么?
 
将程序贴出来
 
fei_l:看了你在http://www.delphibbs.com/delphibbs/dispq.asp?lid=2429833 中的程序,受益匪浅,谢谢!想再请教一个问题。我在自己的程序中用到tWebBrowser 控件,实现了一键输入用户名,密码,然后登录( logon),但我想在click logonButton 先登录 后再navigate到另一个页面。这时出现了问题:没有登录就直接跳到那个页面了。由于以前没有用过webBrowser 控件,所以不知用什么方法好来解决这个问题。盼赐教!
 
这是我的网页源吗

<H2>請先開戶</H2>
<CENTER>
<FORM NAME="fmLogin" ACTION="/cust" METHOD="POST">
<INPUT TYPE=HIDDEN NAME="action" VALUE="do_login">
<INPUT TYPE=HIDDEN NAME="FormName" VALUE="fmLogin">
<INPUT TYPE=HIDDEN NAME="loginUID" VALUE="118828446">
<INPUT TYPE=HIDDEN NAME="dest" VALUE="myac_menu">
<TABLE>
<TR>
<TD ALIGN=CENTER COLSPAN=2><H2>戶口登入<H2></TD>
</TR>
<TR><TD> </TD></TR>
<TR>
<TD ALIGN=RIGHT>戶口號碼</TD>
<TD><INPUT TYPE=TEXT NAME="tbUsername" VALUE="" SIZE=10></TD>
</TR>
<TR>
<TD ALIGN=RIGHT>戶口密碼</TD>
<TD><INPUT TYPE=PASSWORD NAME="tbPassword" VALUE="" SIZE=10></TD>
</TR>
<TR><TD> </TD></TR>
<TR>
<TD ALIGN=CENTER COLSPAN=2>
<INPUT TYPE=RESET VALUE="清除">
<INPUT TYPE=SUBMIT VALUE="登入">
</TD>
</TR>
<TR><TD> </TD></TR>
<TR>
<TD ALIGN=CENTER COLSPAN=2>

</TD>
</TR>
</TABLE>

我的webbrowser模拟的登陆程序
procedure Tform1.submit;
var
myitem:Olevariant;
i:integer;
begin
myitem := WebBrowser1.Document;

for i := 0 to myitem.all.length - 1 do
begin

if myitem.all.item(i).tagName = 'INPUT' then
begin


if Uppercase(myitem.all.item(i).type)='TEXT' then
begin
if Uppercase(myitem.all.item(i).name)='tbUsername' then myitem.all.item(i).value:='28072';
end;
if Uppercase(myitem.all.item(i).type)='PASSWORD' then
begin
if Uppercase(myitem.all.item(i).name)='tbPassword' then myitem.all.item(i).value:='7419';
end;
if Uppercase(myitem.all.item(i).type)='SUBMIT' then
begin
myitem.all.item(i).click; // 点击提交键
end;
end;
end;

end;
想问,检测程序执行了myitem.all.item(i).click这句,但是为什么没起作用?
 
liunini:我运行了你的代码,没有什么问题。
 
fei_l:
能否把
http://www.delphibbs.com/delphibbs/dispq.asp?lid=2429833
裡面提的使用Tidhttp的原碼發給我看看,謝謝!
liaoxuewei@21cn.com
回去試驗!
 
后退
顶部