我的页面上有一个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但不起作用, 有什么我错过了
答案 0 :(得分:3)
您是否从UI线程访问WebBrowser控件?如果没有,请尝试从UI线程访问它或使用Dispatcher.Invoke。有关详细信息,请参阅"Specified cast is not valid" error。
否则,该文档可能尚未完成加载。等到DocumentCompleted事件被触发以确保文档已加载,然后访问该属性。有关详细信息,请参阅WebBrowser.Document.Body is always null。