WebBrowser控件阻止ajax

时间:2010-02-04 04:24:38

标签: c# webbrowser-control

我正在使用web浏览器控件嵌入我的C#app中的winform中进行一些抓取。我正在寻找的内容是动态加载ajax。但是,当我导航到页面时,除非我没有运行其他代码,否则不会加载内容。我试着做了

while(webbrowser1.isBusy);

但这没有帮助。我也尝试暂停程序几秒钟,以便有时间加载

Thread.Sleep(2000);

但它仍然没有加载。如果我导航到没有代码的页面,它加载正常。我不确定如何将其拆分为线程。任何帮助,将不胜感激。

1 个答案:

答案 0 :(得分:0)

而(webbrowser1.isBusy);和Thread.Sleep(2000);会阻塞主消息泵,而ajax需要一个消息泵来进行异步回调。我建议你在DocumentComplete中启动一个计时器,定期轮询网页,直到你认为页面完整为止。请记住在BeforeNavigate2中停止计时器