J'essaie d'utiliser le nouveau (2016) sans tête version de Chromium avec Selenium/ChromeDriver (Dans le passé, j'ai utilisé Firefox avec xfvb mais cela promet d'être bien meilleur).
J'ai compilé une version headless de Chromium à partir des sources (je n'ai pas trouvé de binaires pré-construits) en me basant sur les instructions que j'ai trouvées. aquí et j'ai ensuite utilisé le code suivant pour le lancer via 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)
Le même code fonctionne avec le chrome standard (si je supprime l'option binary.location
option)
En l'état, cependant, j'obtiens l'erreur suivante :
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)
Apparemment, le binaire chromium headless est compilé avec un ID de version que ChromeDriver ne reconnaît pas. Au secours ! !
Environnement :
- Compilation : Serveur Ubuntu 16.04
- Exécution du sélénium : Linux Mint 18.1