WPF WebBrowser在LoadCompleted模块中抛出错误



我有一个嵌入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;

相关内容

最新更新