如何在C#中等待WebBrowser控件

3

我试图移除通过JavaScript注入到页面中的<object>标签。当WebBrowser的DocumentCompleted事件被调用时,flash内容尚未被注入。我尝试实现Thread.Sleep并等待计时器,但它们似乎都“占用”了进程,使Web浏览器控件停止渲染。有没有一种方法可以等待短时间(大约5秒),允许Web浏览器继续执行JavaScript?

1个回答

1

在UI线程中,不要使用System.Threading.Thread.Sleep(....),而是使用类似以下的方式:

DateTime maxWaitTimeout = DateTime.Now.AddSeconds(5);
while (DateTime.Now < maxWaitTimeout)
{
    System.Windows.Forms.Application.DoEvents();
    System.Threading.Thread.Sleep(100);
    /// now check required element and call 'break' if needed
}

一天没有成功,然后找到了这个答案... 完美运行。 - Assad Nazar

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接