Я пытаюсь использовать новую (2016) безголовую версию Chromium с Selenium/ChromeDriver (в прошлом я использовал Firefox с xfvb, но этот promises был намного лучше).
Я собрал безголовую версию Chromium из источников (я не нашел никаких предварительно созданных двоичных файлов) на основе инструкций, которые я нашел здесь и затем я использовал следующий код, чтобы запустить его через Selenium:
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
l_option = Options()
l_option.add_argument('headless')
l_option.add_argument('disable-notifications')
l_option.binary_location = '/home/fi11222/Headless_Chromium/headless_shell'
l_driver = webdriver.Chrome(chrome_options=l_option)
Тот же код работает со стандартным хром (если я удалю опцию binary.location
)
Как, однако, я получаю следующую ошибку:
selenium.common.exceptions.WebDriverException: Message: unknown error: unrecognized Chrome version: HeadlessChrome/59.0.3032.0
(Driver info: chromedriver=2.27.440175 (9bc1d90b8bfa4dd181fbbf769a5eb5e575574320),platform=Linux 4.4.0-53-generic x86_64)
По-видимому, безголовый хром-бит компилируется с идентификатором версии, который ChromeDriver не распознает. Помощь!
Среда:
- Компиляция: сервер Ubuntu 16.04
- Выполнение селена: Linux Mint 18.1