WebBrowser Control .Document/.DocumentText timing out?
本文关键字:timing out DocumentText Control Document WebBrowser | 更新日期: 2023-09-27 17:54:24
我需要访问从一个网站的HTML源程序,我正在使用web浏览器控件编写。程序本身将操纵基于HTML的东西,但我有一个问题。基于我所看到的一些东西,我认为允许大约100毫秒的控制更新文本应该是足够的。
我有一个定时器事件绑定到触发器来保存WebBrowser.Document
/WebBrowser.DocumentText
到一个全局可访问的文档文件,但我遇到的问题是,有一个指定的Cast无效异常被抛出。当我试图查看DocumentText属性内部的内容时,什么也没有出现。设置手表表示由于之前的功能计算超时,功能计算已被禁用。
现在我只是试图使用Console.WriteLine
函数打印DocumentText
,但即使这样也不起作用。
我在这里找到了解决问题的方法:http://social.msdn.microsoft.com/forums/en/winforms/thread/642f59c5 f1 - 84 - 4945 - 90 - d3 - 220592 - ace5f1
具体来说,解决方案是向WebBrowser.DocumentCompleted
事件添加一个事件处理程序,如下所示:
void Browser_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
if (Browser.ReadyState == WebBrowserReadyState.Complete)
doc = Browser.Document;
}
我认为关键在if语句中。如果这是真的,文档是可访问的,所以它可能可以放在任何地方(并且应该考虑在事件处理程序中处理它意味着除非您将所有内容存储在数组或列表中,否则每次导航到新页面时都会被覆盖)。