Selenium ChromeDriver no reconoce el cromo sin cabeza recién comstackdo (Python)

Estoy tratando de usar la nueva versión (2016) sin cabeza de Chromium with Selenium / ChromeDriver (en el pasado, usé Firefox con xfvb pero esto promete ser mucho mejor).

He comstackdo una versión sin cabeza de Chromium a partir de fonts (no encontré ningún binario precomstackdo) basado en las instrucciones que encontré aquí y luego utilicé el siguiente código para lanzarlo a través de 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) 

El mismo código funciona con el cromo estándar (si binary.location opción binary.location )

Como es, sin embargo, me sale el siguiente error:

 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) 

Aparentemente, el binario de cromo sin cabeza se comstack con un ID de versión que ChromeDriver no reconoce. Ayuda !!

Ambiente:

  • Comstackción: servidor Ubuntu 16.04
  • Ejecución de Selenium: Linux Mint 18.1

ChromeHeadless es reconocido por chromedriver desde este parche (creado después de que hayas publicado tu mensaje), que solo está disponible desde Chromedriver 2.29 (lanzado en abril de 2017). Asegúrese de tener este ejecutable chromedriver disponible en PATH y de que Selenium lo esté seleccionando en lugar de cualquier otro chromedriver que pueda tener disponible.

Además, tenga en cuenta que, de acuerdo con la documentación de Chrome sin cabeza , debe pasar dos banderas más:

 l_option.add_argument('remote-debugging-port=9222') l_option.add_argument('disable-gpu') 

En cuanto a los binarios pre-construidos de Chrome sin cabeza, esa opción está disponible desde Chrome 57, por lo que es compatible con todas las versiones distribuidas actualmente a través del repository oficial de Google (es decir, Chrome 58 estable y Chrome 59 inestable). Es el punto culminante de Chrome 59 , así que espere algunos bordes ásperos hasta que la función se estabilice.