2013-01-19 21 views
0

我需要從網站訪問我正在使用Web瀏覽器控件編寫的程序的HTML源代碼。該程序本身將操縱基於HTML的東西,但我有一個問題。 基於我見過的東西,我看到允許大約100個MS控件更新文本應該足夠了。WebBrowser控件.Document/.DocumentText超時?

我綁觸發保存WebBrowser.Document/WebBrowser.DocumentText到全局可訪問doc文件計時器事件,但我遇到的問題是,有一個指定的強制轉換無效異常被拋出。當我試圖查看DocumentText屬性內部的內容時,什麼都沒有出現。設置手錶表示功能評估已被禁用,因爲之前的功能評估超時。

現在我只是試圖使用Console.WriteLine函數打印DocumentText,但即使這樣做不起作用。

我想總結一下,我不知道我在做什麼。有人可以指導我解決問題或解決方案,以達到我期待的結果嗎?

回答

0

我已經找到了解決我的問題就在這裏: http://social.msdn.microsoft.com/Forums/en/winforms/thread/642f59c5-84f1-4945-90d3-220592ace5f1

具體而言,該解決方案是將事件處理程序添加到WebBrowser.DocumentCompleted事件,像這樣:

void Browser_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e) 
    { 
     if (Browser.ReadyState == WebBrowserReadyState.Complete) 
      doc = Browser.Document; 
    } 

我認爲,關鍵是在if語句中。如果這是真的,那麼文檔可以被訪問,所以它可能放在任何地方(並且應該考慮在那個事件處理器中處理它,這意味着除非你將所有東西存儲在一個數組或列表中,否則每當你導航到新的時候它將被覆蓋頁)。