selenium.common.exceptions.WebDriverException со скриптом Selenium Firefox Webdriver из PHP / Apache - PullRequest
2 голосов
/ 01 февраля 2012

Мы вызываем скрипт python / selenium, который использует веб-драйвер firefox.

Сценарий отлично работает при запуске из командной строки, но при вызове с помощью вызова system / exec из PHP через Apache мы видим следующие ошибки в логах apache:

selenium.common.exceptions.WebDriverException: Message: 'The browser appears to have 
exited before we could connect. 
The output was: \n(firefox-bin:16178): libgnomevfs-WARNING **: 
Unable to create ~/.gnome2 directory: Permission denied\nSegmentation fault\n' 

Точка сбоя - сразу после того, как веб-драйвер пытается запустить виртуальный браузер, используя:

display = Display(visible=0, size=(1000, 800))
display.start()
browser = webdriver.Firefox()

Кто-нибудь сталкивался с этим раньше? После долгих попыток я не смог найти четкого решения. Я предполагаю, что это как-то связано с разницей в разрешениях при запуске через cli по сравнению с запуском через apache.


Основной причиной были разрешения: я обнаружил, что выполнение сценария через командную строку в качестве пользователя apache дало более информативную ошибку:

sudo -u www-data python <script>

Мне нужно было добавить каталог .gnome и .gnome_private в корневой каталог веб-сервера (/ var / www /), а затем добавить его в список www-data.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...