Я пытаюсь запустить скрипт Python + Selenium в безголовом режиме с Firefox, используя Xvfb, но получаю ошибки. Для Xvfb не так много документов или руководств по устранению неполадок, поэтому ищите помощь здесь.
Информация об окружении:
ОС: CentOS версии 6.5 (минимальная установка)
Xvfb: xorg-x11-server-Xvfb-1.15.0
Firefox: 52.8.0
geckodriver : 0.24.0
Python: 3.6.7
Выполненные действия:
После завершения установки вышеупомянутых требований. Я начал виртуальный дисплей с:
$Xvfb :1 -ac &
Кроме того, я пробовал с:
$Xvfb :1 -screen 0 1024x768x24 -extension RANDR &
И затем я устанавливаю переменную Display:
export DISPLAY=:1
Когда я пытался запустить Selenium WebDriver в консоли Python, я получаю сообщение об ошибке Отказано в соединении:
> from selenium import webdriver
> from pyvirtualdisplay import Display
> display = Display(visible=0, size=(800, 600))
> display.start()
> driver = webdriver.Firefox()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python3.6/site-packages/selenium/webdriver/firefox/webdriver.py", line 174, in __init__
keep_alive=True)
File "/usr/lib/python3.6/site-packages/selenium/webdriver/remote/webdriver.py", line 157, in __init__
self.start_session(capabilities, browser_profile)
File "/usr/lib/python3.6/site-packages/selenium/webdriver/remote/webdriver.py", line 252, in start_session
response = self.execute(Command.NEW_SESSION, parameters)
File "/usr/lib/python3.6/site-packages/selenium/webdriver/remote/webdriver.py", line 321, in execute
self.error_handler.check_response(response)
File "/usr/lib/python3.6/site-packages/selenium/webdriver/remote/errorhandler.py", line 242, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: connection refused
Любая помощь или предложение будут высоко оценены.
"<stdin>"
, на который ссылается трассировка? Кроме того, вам нужно установитьfirefoxCapabilities
и, возможно,firefoxProfile
для безголового браузера. - person C. Peck   schedule 21.03.2019