Назад | Перейти на главную страницу

Экземпляр Firefox, запущенный селеном, иногда перестает отвечать

Я запускаю веб-приложение под Tomcat 7, Ubuntu 14.04, которое запускает экземпляр Firefox (в настоящее время версия 29) с использованием драйвера Java Selenium для создания снимков экрана простых локально определенных веб-страниц.

Иногда 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 в этих двух случаях. Почему "-тихий" против "-передний план"? Что можно сделать, чтобы этого не произошло?

Я не вижу сообщений о селене, напечатанных в журнале ошибок приложения.

Похоже, это обычная проблема (у меня тоже была) с последними версиями Firefox (17+; люди говорят, что он работает с Firefox 17.0, но я не пробовал) И тот факт, что вы создаете новый экземпляр браузера для каждую веб-страницу, которую вы собираетесь загрузить.

То, что я сделал, а также то, что кажется общей логикой, - это создать просто экземпляр Firefox, загрузить с ним все ваши веб-страницы и в конце закрыть браузер.