浏览器加载页面异常

本文关键字:异常 加载 浏览器 | 更新日期: 2023-09-27 17:50:28

我有一个简单的代码,它可以加载一个页面并通过id获取一个元素。我用的是标准元件WebBrowser webWebBrowser = new WebBrowser();我的问题是加载页面

错误代码:

webWebBrowser.Navigate(url);
while (webWebBrowser.ReadyState != WebBrowserReadyState.Complete)
{
    Application.DoEvents();
}
var links = webWebBrowser.Document.GetElementById("n6");
String tmp = links.InnerText;

我在网上得到一个错误:

var links = webWebBrowser.Document.GetElementById("n6");

错误是:

类型为"System"的未处理异常。"得到NullReferenceException。

但如果我把一个MessageBox的代码,然后它的工作(点击按钮后)。为什么?

无错误码:

webWebBrowser.Navigate(url);
while (webWebBrowser.ReadyState != WebBrowserReadyState.Complete)
{
    Application.DoEvents();
}
MessageBox.Show("loaded");
var links = webWebBrowser.Document.GetElementById("n6");
String tmp = links.InnerText;

浏览器加载页面异常

您尝试在完全加载之前读取文档的内容(显示MessageBox给您的WebBrowser一些时间来完全加载内容)。

应该使用DocumentCompleted事件

webBrowser.DocumentCompleted += (s, e) =>
{
    var links = webWebBrowser.Document.GetElementById("n6");
    String tmp = links.InnerText;
};
webWebBrowser.Navigate(url);