Xvfb: соединение отказано при запуске тестового скрипта через браузер на Fedora
920
codekaizer
У меня есть сценарий Python, который будет вызываться только при вызове my.ip.address/test
. Это работает нормально, если я запускаю код PHP через командную строку.
Однако, если я получаю доступ к автоматизации тестирования через браузер, используя указанный URL-адрес, это дает мне эту ошибку:
Traceback (most recent call last): File "scripts/crawler.py", line 10, in driver = webdriver.Firefox(capabilities={"marionette":True}) File "/usr/lib/python2.7/site-packages/selenium/webdriver/firefox/webdriver.py", line 152, in __init__ keep_alive=True) File "/usr/lib/python2.7/site-packages/selenium/webdriver/remote/webdriver.py", line 98, in __init__ self.start_session(desired_capabilities, browser_profile) File "/usr/lib/python2.7/site-packages/selenium/webdriver/remote/webdriver.py", line 188, in start_session response = self.execute(Command.NEW_SESSION, parameters) File "/usr/lib/python2.7/site-packages/selenium/webdriver/remote/webdriver.py", line 252, in execute self.error_handler.check_response(response) File "/usr/lib/python2.7/site-packages/selenium/webdriver/remote/errorhandler.py", line 194, in check_response raise exception_class(message, screen, stacktrace) selenium.common.exceptions.WebDriverException: Message: connection refused
Ошибка в geckodriver.log:
1495299180874 geckodriver::marionette INFO Starting browser /usr/lib/firefox/firefox with args ["-marionette"] Unable to init server: Could not connect: Connection refused Error: cannot open display: :99
Простой код Python:
#!/usr/bin/env python2 from pyvirtualdisplay import Display from selenium import webdriver import time import sys driver = webdriver.Firefox(capabilities={"marionette":True}) display = Display(visible=0, size=(800,600)) display.start() driver.get('https://www.google.com') print driver.title driver.close() display.stop()
Фрагмент кода PHP для /test
конечной точки:
$cmd = 'xvfb-run -a python scripts/crawler.py' return shell_exec($cmd);
Уже установлено Xvfb
и запущено:
$ whoami codekaizer #with root privileges $ Xvfb :99 -screen 0 1024x768x24 -ac -fbdir /tmp/.X11-unix/X99 &
Я убедился, что /tmp/.X11-unix/X99
сокет прослушивает Xvfb
процесс.
Я сейчас застрял и очень ценю чью-то помощь!
Подробности:
- Firefox 53.0
- Geckodriver 0.16.1
- Fedora 22 x86_64
Спасибо! - ск
0 ответов на вопрос
Похожие вопросы
-
2
Как мне установить iTunes под Wine?
-
3
Как заставить Firefox запомнить размер его окна?
-
1
Почему я получаю медленную пропускную способность сети, когда у меня плохой DNS-сервер?
-
-
2
Почему мой путь не обновляется * сейчас *?
-
7
Как вы отслеживаете, какие пакеты были установлены в Fedora (Linux)?
-
2
Увеличение разрешения дисплея в Fedora 11
-
1
Fedora ifup и сетевой менеджер
-
3
Linux DD Command: как извлечь файлы из образа ISO?
-
1
Почему запущенные приложения исчезли на панели задач Fedora?
-
1
Установка Fedora: имеет ли значение, что я делаю имя хоста?