我在C#中运行最新版本的Firefox和Selenium。我正在自动化爬虫以在Web应用中查找数据。服务器超级慢,所以我不得不添加许多等待加上使用线程休眠的初始等待。
所以我的抓取工具获取了一个项目列表,然后迭代:它必须通过单击其ID来加载每个项目的详细信息。然后它返回(这些导航控件都内置在Web应用程序中,没有使用浏览器控件),冲洗和重复。服务器在加载详细信息和返回期间显示进度微调器。爬虫每次都会到达同一个项目并锁定,例如:进度微调器冻结,Firefox崩溃。
我尝试过几个不同的东西,包括使用后台线程,删除所有cookie,以及检查我的内存是否超载。我没有注意到内存中的任何峰值(在任务管理器中)。我也尝试重新启动网络驱动程序,但它确实没有用,因为这是一个网络应用程序。
我有什么东西可以俯瞰吗? (我试图尽可能清晰和详尽)
忘记提及,当我停止程序时,页面'解冻',我可以继续使用。
答案 0 :(得分:3)
这是C#selenium web绑定2.39及更早版本的已知问题。现在应该在2.40中修复。问题是当从firefox重定向控制台日志记录时,Web绑定代码中的死锁。如果你升级到2.40它应该解决它。有关详细信息,请参阅“2014年2月25日更新”标题下的here。