怎样等待TWebBrower打开一个页面(100分)

  • 主题发起人 主题发起人 ranger18
  • 开始时间 开始时间
R

ranger18

Unregistered / Unconfirmed
GUEST, unregistred user!
编程中需实现自动打开一系列的页面并提取其中信息,但不知怎样等待TWebBrower打开一个页面,望高手赐教:
e.g.
procedure TForm1.AnalysePage(const URL: string);
begin
//
WebBrowers1.Navigate(URL);

//以下两句为等待WebBrowers1打开该页面,但程序到此会陷入死循环
while true do
if WebBrowers1.ReadyState = READYSTATE_COMPLETE then Break;
//另外我也试过使用TWebBrowers的Busy属性,效果一样,如下
// if not WebBrowers1.Busy then Break;

//以下为处理的部分
。。。。。。
end;
 
onDownloadComplete
这个事件好象是一个页面下载完就可以处理了吧
 
TWebBrowser.OnDownloadComplete
Occurs when a navigation operation finishes, is halted, or fails.

property OnDownloadComplete: TNotifyEvent;

Description

Write an OnDownLoadComplete event handler to take specific action after the Web browser stops a downloading operation. For example, use the OnDownloadComplete event to stop an download indication that is started in an OnDownloadBegin event handler.

Note: Unlike the OnNavigateComplete2 event, OnDownloadComplete occurs even if the Web browser does not successfully navigate to an URL.
 
检查Webbrowser的busy属性。下载完了就不busy了。
 
同意楼上
 

procedure TForm1.AnalysePage(const URL: string);
begin
//
WebBrowers1.Navigate(URL);
while WebBrowers1.ReadyState <> READYSTATE_COMPLETE do
Application..ProcessMessages;
//以下为处理的部分
。。。。。。
end;
 
to e-:

太感谢了!

其他人也有分!
 
多人接受答案了。
 

Similar threads

D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部