2010-02-04 93 views
1

我使用webbrowser控件嵌入在我的C#應用​​程序的winform做一些刮。我正在尋找的內容是用ajax動態加載的。但是,當我導航到頁面時,除非我沒有其他代碼在運行,否則內容將無法加載。我試過WebBrowser控件阻塞AJAX

while(webbrowser1.isBusy); 

但是這沒有幫助。我也嘗試暫停程序幾秒鐘給它時間加載

Thread.Sleep(2000); 

但它仍然沒有加載。如果我導航到沒有任何代碼的頁面,它會正常加載。我不確定我怎麼能把它分解成線程。任何幫助,將不勝感激。 (webbrowser1.isBusy);

+0

您是否正在處理Document.Complete事件? – 2010-02-04 04:39:44

+0

是的,我試過了。儘管我用了一段時間。 – 2010-02-04 15:51:32

回答

0

while(webbrowser1.isBusy);和Thread.Sleep(2000);會阻塞主消息泵,並且ajax需要異步回調的消息泵。我建議你在DocumentComplete中啓動一個計時器來定期輪詢網頁,直到你認爲頁面完成。請記住停止BeforeNavigate2中的計時器

+0

是的,這正是我最終做的。 – 2010-02-05 00:43:06