【问题标题】:WebBrowser Control blocking ajaxWebBrowser 控件阻止 ajax
【发布时间】:2011-01-12 22:18:24
【问题描述】:

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

while(webbrowser1.isBusy);

但这无济于事。我还尝试将程序暂停几秒钟以使其有时间加载

Thread.Sleep(2000);

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

【问题讨论】:

  • 你在处理 Document.Complete 事件吗?
  • 是的,我试过了。不过我用了一段时间。

标签: c# webbrowser-control


【解决方案1】:

while(webbrowser1.isBusy);和 Thread.Sleep(2000);会阻塞主消息泵,而 ajax 需要一个用于异步回调的消息泵。我建议您在 DocumentComplete 中启动一个计时器来定期轮询网页,直到您认为该页面已完成。记得在 BeforeNavigate2 中停止计时器

【讨论】:

    猜你喜欢
    • 2010-09-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-02
    • 1970-01-01
    相关资源
    最近更新 更多