2

我的页面上有一个 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 但不起作用,有什么我错过的吗

4

1 回答 1

5

您是否从 UI 线程访问 WebBrowser 控件?如果没有,请尝试从 UI 线程访问它或使用Dispatcher.Invoke。有关更多详细信息,请参阅“指定的强制转换无效”错误

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

于 2012-09-24T06:52:30.543 回答