C# WPF WebBrowser在LoadCompleted模块中引发错误
我有一个嵌入WebBrowser控件的WPF应用程序。 该应用程序是用C#4.0和VS2010以及.NET 4.0构建的 有时,当我执行webBrowser.Navigate(Url)时,会出现以下错误: “System.DBNull”不包含“InnerHtml”的定义 在我的webBrowser_加载完成的事件模块中。页面已加载,看起来没有问题 我的代码如下所示:C# WPF WebBrowser在LoadCompleted模块中引发错误,c#,.net,wpf,wpf-controls,browser,C#,.net,Wpf,Wpf Controls,Browser,我有一个嵌入WebBrowser控件的WPF应用程序。 该应用程序是用C#4.0和VS2010以及.NET 4.0构建的 有时,当我执行webBrowser.Navigate(Url)时,会出现以下错误: “System.DBNull”不包含“InnerHtml”的定义 在我的webBrowser_加载完成的事件模块中。页面已加载,看起来没有问题 我的代码如下所示: private void webBrowser_LoadCompleted(object sender, NavigationEv
private void webBrowser_LoadCompleted(object sender, NavigationEventArgs e) {
string htmlText;
try {
dynamic doc = webBrowser.Document;
htmlText = doc.documentElement.InnerHtml;
} catch(Exception ex) {
Debug.WriteLine(ex.Message);
}
}
有人知道我为什么会犯这个错误吗
查尔斯我也有同样的问题,我选择了IHTMLDocument3。在此之前,我检查是否确实存在已加载的文档,因为这对我来说也是一个问题:
dynamic doc = browser.Document;
string htmlText = "";
if (doc != null)
htmlText = ((mshtml.IHTMLDocument3)doc).documentElement.innerHTML;
我也遇到了同样的问题,我选择了IHTMLDocument3。在此之前,我检查是否确实存在已加载的文档,因为这对我来说也是一个问题:
dynamic doc = browser.Document;
string htmlText = "";
if (doc != null)
htmlText = ((mshtml.IHTMLDocument3)doc).documentElement.innerHTML;
嗨,这可能是一个迟到的答复。但是我遇到了这个问题。我可以通过在获取“innerHTML”之前让线程休眠一段时间来解决我的问题。我知道这很不寻常,但很管用 所以你的代码变成了
dynamic doc = webBrowser.Document;
Thread.Sleep(100);
htmlText = doc.documentElement.InnerHtml;
嗨,这可能是一个迟到的答复。但是我遇到了这个问题。我可以通过在获取“innerHTML”之前让线程休眠一段时间来解决我的问题。我知道这很不寻常,但很管用 所以你的代码变成了
dynamic doc = webBrowser.Document;
Thread.Sleep(100);
htmlText = doc.documentElement.InnerHtml;
尝试将文档强制转换为IHTMLDocument3,然后获取documentElement。InnerHtml@CBrauer:尝试使用
doc.documentElement.OuterHtml代码>而不是doc.documentElement.InnerHtml代码>尝试将文档强制转换为IHTMLDocument3,然后获取documentElement。InnerHtml@CBrauer:尝试使用doc.documentElement.OuterHtml代码>而不是doc.documentElement.InnerHtml代码>