2012-07-17 101 views
0

我已經做了一個HttpWebRequest到一個頁面來獲取包含我想要解析的表的頁面,但問題是有一些JavaScript需要在能夠訪問表之前運行。所以現在我想要一個WebBrowser控件,並讓頁面加載到瀏覽器中,然後閱讀它的HTML內容以進行解析!任何提醒我如何做到這一點?閱讀WebBrowser控件的內容

另外,當我在WebBrowser控件中加載頁面時,它給了我一些JavaScript錯誤,一旦我通過所有這些錯誤,它將加載整個頁面。無論如何繞過這些錯誤?

謝謝

回答

0

您可以設置ScriptErrorsSuppressed爲true。這將抑制WebBrowser控件顯示的所有對話框。如果您想有選擇地忽略錯誤,則必須在文檔上訂閱Window.Error事件。欲瞭解更多詳情,請登錄MSDN page

或者,您可以使用Html Agility Pack。在這種情況下,您根本不必使用WebBrowser控件。

例子:

HtmlDocument htmlDocument = null; 
    HtmlWeb htmlWeb = new HtmlWeb(); 
    htmlWeb.PreHandleDocument = new HtmlWeb.PreHandleDocumentHandler((document) => htmlDocument = document); 
    htmlWeb.Load(url, "GET"); 

    foreach (HtmlNode item in htmlDocument.DocumentNode) 
    { 
     // find your table node 
    } 
+0

嘿謝謝你,我還沒有試過,但對這個職位我發現我做了什麼,你可以看看,並告訴我,如果這是可能與你的方法? http://stackoverflow.com/questions/11491170/unexpected-behaviour-while-using-httpwebrequest-on-a-form-to-obtain-a-table-for – 2012-07-17 09:45:14

+0

問題是,一些javascripts阻止表加載時我做了httpwebrequest – 2012-07-17 09:45:57