我在Delphi中使用TWebBrowser控件,填写一个表单页面(reg.php),进行提交.提交后,我进行了状态判断:
while True do
begin
Application.ProcessMessages();
WebBrowser.UpdateControlState;
if WebBrowser.ReadyState = READYSTATE_COMPLETE then break;
end;下面获取页面内容
doc:= WebBrowser.Document as mshtml.IHTMLDocument2;
sHTML := doc.body.innerHTML;这样获取到的仍然是表单页面(reg.php)的内容,而不提交后跳转的页面内容(success.php).不知这是怎么回事,有人碰到过吗?
while True do
begin
Application.ProcessMessages();
WebBrowser.UpdateControlState;
if WebBrowser.ReadyState = READYSTATE_COMPLETE then break;
end;下面获取页面内容
doc:= WebBrowser.Document as mshtml.IHTMLDocument2;
sHTML := doc.body.innerHTML;这样获取到的仍然是表单页面(reg.php)的内容,而不提交后跳转的页面内容(success.php).不知这是怎么回事,有人碰到过吗?
解决方案 »
- Project Manager的问题。怎么使界面更简化?
- 希望大家能帮小妹我解决这个问题
- 【板务醒目】辞去 Windows SDK/API 板斑竹职务 9/10【散分醒目】
- DBGrid控件的问题?
- 如何自定义设置MaskEdit中的EditMask属性
- 为什么没有直接数据直接导出excel的控件?
- 跪求。。。请大虾们拔刀相助!!!(100分)
- windowsNT的密码!!??装系统的时候为登录不用密码!!装上以后设置为要密码登录??可是不知道密码!!??
- 登陆代码求助
- 高手都死了吗,来这看看,如果能给我解决的话,我有三个贴的分都给你
- 在windows7中为何截获(利用hook技术)不到鼠标双击事件
- 菜鸟来问个delphi数据截取显示的问题
完整代码如下:
procedure TfrmWin.BitBtn1Click(Sender: TObject);
var
ov : Olevariant;
doc:mshtml.IHTMLDocument2;
sHTML : String;
begin
ov := WebBrowser.OleObject.document.all.item('UserName',0);
ov.value := 'xxz2010';
ov := WebBrowser.OleObject.document.all.item('Password1',0);
ov.value := 's123s123';
ov := WebBrowser.OleObject.document.all.item('Password2',0);
ov.value := 's123s123';
WebBrowser.oleobject.document.Forms.Item(0, 0).submit;
//略去一些项目 while True do
begin
Application.ProcessMessages();
WebBrowser.UpdateControlState;
if WebBrowser.ReadyState = READYSTATE_COMPLETE then break;
end; doc:= WebBrowser.Document as mshtml.IHTMLDocument2;
sHTML := doc.body.innerHTML;
end;
begin
Application.ProcessMessages();
WebBrowser.UpdateControlState;
if WebBrowser.ReadyState = READYSTATE_COMPLETE then break;
end;这个循环处理不就是直到下载完成吗?