WPF WebBrowser在LoadCompleted模块中抛出错误
本文关键字:出错 错误 模块 WebBrowser LoadCompleted WPF | 更新日期: 2023-09-27 18:16:26
我有一个嵌入WebBrowser控件的WPF应用程序。该应用程序是用c# 4.0和VS2010以及。net 4.0构建的
有时,当我做webBrowser.Navigate(Url)时,我得到错误:
"系统。DBNull'不包含'InnerHtml'的定义
在我的webBrowser_LoadCompleted事件模块。页面加载,看起来正常。
我的代码如下:
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;
你好,可能回复晚了。但是我遇到了这个问题。我能够通过简单地使线程睡眠一段时间之前得到'innerHTML'解决我的问题。我知道这很不寻常,但它有效。
所以你的代码变成了dynamic doc = webBrowser.Document;
Thread.Sleep(100);
htmlText = doc.documentElement.InnerHtml;