2012-07-17 102 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