WebDriverException: Mensaje: Service / usr / lib / chromium-browser / chromedriver se cerró inesperadamente en Raspberry-Pi con ChromeDriver y Selenium

He escrito un script en Python que realiza algunas tareas en el navegador (usando Selenium), que funciona bien en Windows. Ahora estoy tratando de ponerlo en mi Raspberry Pi.

Hice mucha búsqueda para encontrar la mejor manera de hacer que esto funcione con Chromium. Lo mejor que pude encontrar fue en este enlace de Reddit .

El problema es que no puedo encontrar un chromedriver que concuerda con mi versión de Chromium (versión 56.0.2924.84). Y cuando lo hago, apt-get upgrade me informa que tengo la versión más reciente de Chromium. He probado las versiones 53 a 65 de Chromedriver mediante la descarga desde este Launchpad Link .

Así que cuando corro lo siguiente

from selenium import webdriver driver_path = 'usr/lib/chromium-browser/chromedriver' driver = webdriver.Chrome(driver_path) 

Me sale este error para los controladores de cromo> 58

 selenium.common.exceptions.SessionNoteCreatedException: Message: session not created exception: Chrome version must be >= 59.0.3071.0 (Driver info: chromedriver=2.43,platform=Linux 4.9.35-v7+ armv7l) 

o este error para los controladores de cromo <58

 selenium.common.exceptions.WebDriverException: Message: Service /usr/lib/chromium-browser/chromedriver unexpectedly exited. Status code was: 127 

Cualquier ayuda aquí sería apreciada.

Según su pregunta, su binario de Chromium es de la versión 56.0.2924.84 . Por lo tanto, teniendo en cuenta esta restricción, la solución sería descargar cualquiera de las siguientes versiones de ChromeDriver de ChromeDriver Google Storage

  • ChromeDriver v2.46: soporta Chrome v71-73
  • ChromeDriver v2.45: soporta Chrome v70-72
  • ChromeDriver v2.44: soporta Chrome v69-71 (igual que ChromeDriver 2.43, pero con correcciones de errores adicionales)
  • ChromeDriver v2.43: soporta Chrome v69-71
  • ChromeDriver v2.42: soporta Chrome v68-70
  • ChromeDriver v2.41: soporta Chrome v67-69
  • ChromeDriver v2.40: soporta Chrome v66-68
  • ChromeDriver v2.39: soporta Chrome v66-68
  • ChromeDriver v2.38: soporta Chrome v65-67
  • ChromeDriver v2.37: soporta Chrome v64-66
  • ChromeDriver v2.36: soporta Chrome v63-65
  • ChromeDriver v2.35: soporta Chrome v62-64
  • ChromeDriver v2.34: soporta Chrome v61-63
  • ChromeDriver v2.33: soporta Chrome v60-62
  • ChromeDriver v2.32: soporta Chrome v59-61
  • ChromeDriver v2.31: soporta Chrome v58-60
  • ChromeDriver v2.30: soporta Chrome v58-60
  • ChromeDriver v2.29: soporta Chrome v56-58
  • ChromeDriver v2.28: soporta Chrome v55-57
  • ChromeDriver v2.27: soporta Chrome v54-56

Nota : Hace unos meses, Chromium Team hizo un anuncio preliminar de que el modelo de versión de ChromeDriver cambiará. Chromium Team está avanzando con el plan. Específicamente, ChromeDriver 2.46 será la última versión con la versión principal 2. Las futuras versiones de ChromeDriver llevarán un número de versión similar a la versión de Chrome. Comenzaremos con un lanzamiento de ChromeDriver 73 la próxima semana, antes del lanzamiento Beta de Chrome 73.

Aquí es cómo funcionará el nuevo modelo de lanzamiento:

  • ChromeDriver utilizará el mismo esquema de número de versión que Chrome. Consulte https://www.chromium.org/developers/version-numbers para obtener más detalles.
  • Cada versión de ChromeDriver admitirá Chrome con los números de versión mayor, menor y de comstackción. Por ejemplo, el próximo ChromeDriver 73.0.3683. * Admitirá todas las versiones de Chrome que comiencen con 73.0.3683.
  • Antes de que una nueva versión principal de Chrome vaya a Beta, se lanzará una versión coincidente de ChromeDriver. Por ejemplo, la próxima semana se lanzará una nueva versión de ChromeDriver para que coincida con la versión Beta de Chrome m73.
  • Después del lanzamiento inicial de una nueva versión principal, lanzaremos los parches según sea necesario. Estos parches pueden coincidir o no con las actualizaciones de Chrome.

ChromeDriver para Raspberry Pi

Como está utilizando Raspberry Pi , necesita descargar el formato de arm de ChromeDriver desde este enlace y utilizarlo dentro de su progtwig.


consideraciones adicionales

  • Actualiza Selenium a los niveles actuales Versión 3.11.0 .
  • Actualizar ChromeDriver según la discusión anterior.
  • Mantenga la versión de Chrome en los niveles de Chrome v56.x. (según la discusión)
  • Limpie su Área de trabajo del proyecto a través de su IDE y Reconstruya su proyecto solo con las dependencias requeridas.
  • Use la herramienta CCleaner para borrar todas las tareas del sistema operativo antes y después de la ejecución de su Suite de prueba .
  • Si la versión básica de su cliente web es demasiado antigua, desinstálela a través de Revo Uninstaller e instale un GA reciente y una versión de lanzamiento del cliente web .
  • Tomar un reinicio del sistema .
  • Ejecute su @Test .