阅读WebBrowser控件的内容

时间:2012-07-17 09:04:23

标签: .net vb.net browser

我已经对页面进行了HttpWebRequest以获取包含我要解析的表的页面,但问题是在能够访问表之前需要运行一些JavaScripts。所以现在我想要一个WebBrowser控件,让页面加载到webbrowser中,然后读取它的html内容进行解析!我是怎么做到这一点的?

当我在WebBrowser控件中加载页面时,它会给我一些javascript错误,一旦我传递了所有这些错误,它将加载整页。无论如何都可以绕过这些错误吗?

谢谢

1 个答案:

答案 0 :(得分: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
    }