我已经对页面进行了HttpWebRequest以获取包含我要解析的表的页面,但问题是在能够访问表之前需要运行一些JavaScripts。所以现在我想要一个WebBrowser控件,让页面加载到webbrowser中,然后读取它的html内容进行解析!我是怎么做到这一点的?
当我在WebBrowser控件中加载页面时,它会给我一些javascript错误,一旦我传递了所有这些错误,它将加载整页。无论如何都可以绕过这些错误吗?
谢谢
答案 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
}