为什么加载页面时Selenium + Firefox会冻结?

时间:2014-02-05 20:44:34

标签: c# firefox selenium selenium-webdriver

我在C#中运行最新版本的Firefox和Selenium。我正在自动化爬虫以在Web应用中查找数据。服务器超级慢,所以我不得不添加许多等待加上使用线程休眠的初始等待。

所以我的抓取工具获取了一个项目列表,然后迭代:它必须通过单击其ID来加载每个项目的详细信息。然后它返回(这些导航控件都内置在Web应用程序中,没有使用浏览器控件),冲洗和重复。服务器在加载详细信息和返回期间显示进度微调器。爬虫每次都会到达同一个项目并锁定,例如:进度微调器冻结,Firefox崩溃。

我尝试过几个不同的东西,包括使用后台线程,删除所有cookie,以及检查我的内存是否超载。我没有注意到内存中的任何峰值(在任务管理器中)。我也尝试重新启动网络驱动程序,但它确实没有用,因为这是一个网络应用程序。

我有什么东西可以俯瞰吗? (我试图尽可能清晰和详尽)

忘记提及,当我停止程序时,页面'解冻',我可以继续使用。

1 个答案:

答案 0 :(得分:3)

这是C#selenium web绑定2.39及更早版本的已知问题。现在应该在2.40中修复。问题是当从firefox重定向控制台日志记录时,Web绑定代码中的死锁。如果你升级到2.40它应该解决它。有关详细信息,请参阅“2014年2月25日更新”标题下的here