webbrowser.document throws指定的强制转换是无效的异常

时间:2012-09-24 06:33:33

标签: c#-4.0

我的页面上有一个WebBrowser控件。在浏览器控件中显示的页面上触发一些javascript。当我试图保存我的网页时,我收到了这个错误

String strHtml = _browser.Document.Body.OuterText;
File.WriteAllText("C:\saveme.html", strHtml);

此行_browser.Document.Body.OuterText抛出异常

Exception:: Specified cast is not valid.
at System.Windows.Forms.UnsafeNativeMethods.IHTMLDocument2.GetLocation()
at System.Windows.Forms.WebBrowser.get_Document()....

我也曾使用Invoke但不起作用, 有什么我错过了

1 个答案:

答案 0 :(得分:3)

您是否从UI线程访问WebBrowser控件?如果没有,请尝试从UI线程访问它或使用Dispatcher.Invoke。有关详细信息,请参阅"Specified cast is not valid" error

否则,该文档可能尚未完成加载。等到DocumentCompleted事件被触发以确保文档已加载,然后访问该属性。有关详细信息,请参阅WebBrowser.Document.Body is always null