您需要實現TWebBrowser,在BeforeNavigate2,一個DocumentComplete和NavigateComplete2
TForm1 = class(TForm)
private
CurDispatch: IDispatch;
FDocLoaded: Boolean;
....
procedure TForm1.WebBrowser1BeforeNavigate2(ASender: TObject; const pDisp: IDispatch;
const URL, Flags, TargetFrameName, PostData, Headers: OleVariant;
var Cancel: WordBool);
begin
CurDispatch := nil;
FDocLoaded := False;
end;
procedure TForm1.WebBrowser1DocumentComplete(ASender: TObject; const pDisp: IDispatch;
const URL: OleVariant);
begin
if (pDisp = CurDispatch) then
begin
FDocLoaded := True;
CurDispatch := nil;
end;
end;
procedure TForm1.WebBrowser1NavigateComplete2(ASender: TObject; const pDisp: IDispatch;
const URL: OleVariant);
begin
if CurDispatch = nil then
CurDispatch := pDisp;
end;
的3個事件,現在你可以使用FDocLoaded可變知道如果頁面加載到web瀏覽器
WebBrowser1.Navigate('www.stackoverflow.com');
repeat Application.ProcessMessage until FDocLoaded;
問候
您能詳細說明* WebBrowser1運行多次*嗎?什麼程序?你的意思是某個事件或你發佈的代碼放在哪裏?請花時間更新您的問題,因爲目前這個問題無法解決。 – TLama 2012-08-09 18:20:51
我在WebBrowser的加載頁面上有一些鏈接,需要點擊FOR循環中的每個鏈接,並等待完成處理第一個鏈接。在Memo1.Lines我有一些鏈接。 subcatlistthiы就是這樣的程序code.Оn這個網站有幾類投資,我收集所有附件 – Stas 2012-08-09 18:51:03