我已经对页面进行了 HttpWebRequest 以获取包含要解析的表的页面,但问题是在能够访问表之前需要运行一些 JavaScript。所以现在我想要一个 WebBrowser 控件,让页面加载到 webbrowser 中,然后读取它的 html 内容进行解析!任何抬头我怎么能做到这一点?
此外,当我在 WebBrowser 控件中加载页面时,它会给我一些 javascript 错误,一旦我传递了所有这些错误,它将加载整个页面。反正有没有绕过这些错误?
谢谢你
你可以设置ScriptErrorsSuppressed
为真。这会抑制 WebBrowser 控件显示的所有对话框。如果您想选择性地忽略错误,则必须订阅Window.Error
文档上的事件。有关更多详细信息,请查看MSDN 页面
或者,您可以使用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
}