由 selenium 启动的 Firefox 实例偶尔会无响应

由 selenium 启动的 Firefox 实例偶尔会无响应

我在 Tomcat 7、Ubuntu 14.04 下运行一个 Web 应用程序,它使用 Java Selenium 驱动程序启动 Firefox 实例(当前版本为 29)来截取本地定义的简单网页的屏幕截图。

有时,Firefox 会变得无响应。发生这种情况时,会列出一个“已停用”的 Firefox 实例,ps如下所示:

$ ps -elfwww | grep irefox
0 S tomcat7  18004 17574  0  80   0 - 100490 futex_ 05:31 ?       00:00:01 /usr/lib/firefox/firefox -silent
1 Z tomcat7  18010 18004  0  80   0 -     0 exit   05:31 ?        00:00:00 [firefox] <defunct>

当 Firefox 启动并正常运行时,它看起来更像这样:

$ ps -elfwww | grep irefox
0 R tomcat7  19542 17574 38  80   0 - 156275 ?     09:38 ?        00:00:08 /usr/lib/firefox/firefox -foreground

我对这两种情况下传递给 Firefox 的不同命令行选项感到困惑。为什么是“-silent”而不是“-foreground”?可以做些什么来防止这种情况发生?

我没有看到应用程序错误日志中打印有关硒的任何消息。

答案1

这似乎是最新版本的 Firefox(17+;人们说它适用于 Firefox 17.0,但我没有尝试过)的一个常见问题(我也遇到了),而且事实上你正在为要下载的每个网页创建一个新的浏览器实例。

我所做的以及看似常见的逻辑是创建一个 Firefox 实例,用它下载所有网页,最后关闭浏览器。

相关内容