線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1729
推到 Plurk!
推到 Facebook!

請問為何WebBrowser1DocumentComplete不會被執行呢

答題得分者是:max5020
conchih
一般會員


發表:41
回覆:33
積分:14
註冊:2003-06-07

發送簡訊給我
#1 引用回覆 回覆 發表時間:2008-05-10 22:13:11 IP:220.138.xxx.xxx 訂閱
各位前輩

我想抓網頁的原始碼
但為何WebBrowser1DocumentComplete不會被執行呢
讓我無法順利讀取

請問是我少了什麼嗎?

謝謝


[code delphi]
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs,HTMLPars2, StdCtrls, OleCtrls, SHDocVw,mshtml;

type
TForm1 = class(TForm)
Memo1: TMemo;
WebBrowser1: TWebBrowser;
Button1: TButton;
procedure Button1Click(Sender: TObject);
procedure WebBrowser1DocumentComplete(Sender: TObject;const pDisp: IDispatch; var URL: OleVariant);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;
IsComplete: boolean;
implementation

{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
Full_URL:string;
Doc: IHTMLDocument2;
begin

IsComplete := false;
Full_URL:='http://www.hinet.net/';
WebBrowser1.Navigate(Full_URL);

while not IsComplete do
application.ProcessMessages;

showmessage('成功');
//Doc := WebBrowser1.Document as IHTMLDocument2;
//memo1.Lines.Text := doc.body;

end;
procedure TForm1.WebBrowser1DocumentComplete(Sender: TObject;const pDisp: IDispatch; var URL: OleVariant);
var Doc: IHTMLDocument2;
begin
IsComplete := True;

Doc := WebBrowser1.Document as IHTMLDocument2;
memo1.Lines.Text := doc.body;
end;

end.

[/code]
max5020
資深會員


發表:30
回覆:277
積分:321
註冊:2003-06-04

發送簡訊給我
#2 引用回覆 回覆 發表時間:2008-05-12 12:41:58 IP:59.120.xxx.xxx 訂閱
我這樣用的

[code delphi]
i:= 0;
while (i (WebBrowser1.ReadyState<>READYSTATE_COMPLETE) do
begin
Application.ProcessMessages;
Sleep(500);
i:= i 1;
end;

[/code]
conchih
一般會員


發表:41
回覆:33
積分:14
註冊:2003-06-07

發送簡訊給我
#3 引用回覆 回覆 發表時間:2008-05-13 23:16:05 IP:220.138.xxx.xxx 訂閱
感謝max大大

我原先是自已寫了一個類似sleep,再判斷memo是否有值

但看到大大的 (WebBrowser1.ReadyState<>READYSTATE_COMPLETE) ,就覺得程式太美了

再次感謝大大
conchih
一般會員


發表:41
回覆:33
積分:14
註冊:2003-06-07

發送簡訊給我
#4 引用回覆 回覆 發表時間:2008-05-14 22:24:15 IP:218.160.xxx.xxx 訂閱
真是抱歉
昨天一時忘記結案

感謝max大大
系統時間:2024-07-03 6:34:44
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!