WebDriverException: Mensaje: El chromedriver del servicio se cerró inesperadamente. El código de estado fue: 127

Me gustaría construir mi rastreador usando selenium en mi servidor.

Por lo tanto, instalé / descargué las dependencias necesarias, como Chromedriver, Chrome-browser, etc. en mi servidor Ubuntu17.10.

Sin embargo, cuando ejecuto el siguiente código:

driver = webdriver.Chrome() 

Devuelve el siguiente error:

 --------------------------------------------------------------------------- WebDriverException Traceback (most recent call last)  in () ----> 1 driver = webdriver.Chrome() /home/zachary/.local/lib/python3.6/site-packages/selenium/webdriver/chrome/webdriver.py in __init__(self, executable_path, port, options, service_args, desired_capabilities, service_log_path, chrome_options) 66 service_args=service_args, 67 log_path=service_log_path) ---> 68 self.service.start() 69 70 try: /home/zachary/.local/lib/python3.6/site-packages/selenium/webdriver/common/service.py in start(self) 96 count = 0 97 while True: ---> 98 self.assert_process_still_running() 99 if self.is_connectable(): 100 break /home/zachary/.local/lib/python3.6/site-packages/selenium/webdriver/common/service.py in assert_process_still_running(self) 109 raise WebDriverException( 110 'Service %s unexpectedly exited. Status code was: %s' --> 111 % (self.path, return_code) 112 ) 113 WebDriverException: Message: Service chromedriver unexpectedly exited. Status code was: 127 

¿Qué significa que está emocionado ..?

No puedo saber cuál es la intención original de ese código de error y dónde comenzar a solucionarlo.

Se ve muy raro el caso.

Quizás relevante:

Tuve que instalar ubuntu desktop 17.10 en mi escritorio pero no pude iniciar la GUI. Por lo tanto, solo estoy usando el terminal, pero funciona bien hasta ahora. Instalé ssh y el portátil jupyter con control remoto desde mi mac al escritorio del servidor, y esos errores provienen de ello. Espero que esta información sea relevante para resolver este error, de lo contrario abortará.

Parece que chromedriver necesita algunas bibliotecas extra. Esto resolvió el problema para mí:

 apt-get install -y libglib2.0-0=2.50.3-2 \ libnss3=2:3.26.2-1.1+deb9u1 \ libgconf-2-4=3.2.6-4+b1 \ libfontconfig1=2.11.0-6.7+b1 

Estaba trabajando en una configuración similar utilizando un contenedor de ventana acoplable en lugar de un servidor / VM sin X / GUI.

Para averiguar qué dependencias son necesarias, traté iterativamente de ejecutarlo desde la línea de comandos así: /opt/chromedriver/2.33/chromedriver --version una y otra vez.

Luego, cada vez que utilicé comandos como apt-cache search y apt-cache madison para averiguar la versión exacta del paquete deb que necesita chromedriver 2.33 (en mi caso, pero creo que algo similar funcionaría para cualquier versión de chromedriver ).

Encontré el mismo error al usar selenium / chromedriver en mi VPS. Instalé chromium-browser y el problema desapareció.

 sudo apt-get install -y chromium-browser 

Tal vez no es necesario el chromium-browser , pero los paquetes se instalaron junto con él. Sin embargo, eso fue una solución rápida.

Mientras trabaja con Selenium v3.11.0 , ChromeDriver v2.36 y Chrome v64.x , debe descargar el ChromeDriver más reciente desde ChromeDriver – WebDriver para Chrome y colocarlo dentro de su sistema. Luego, al inicializar WebDriver y WebBrowser , debe pasar el argumento executable_path junto con la ruta absoluta de ChromeDriver de la siguiente manera:

 from selenium import webdriver driver = webdriver.Chrome(executable_path='/path/to/chromedriver') driver.get("http://www.python.org") 

Resuelto eliminando cuidadosamente el chromedriver existente y actualizándolo a una versión más nueva:

  1. Eliminar todos los archivos existentes de Chromedriver
  2. Descargue wget https://chromedriver.storage.googleapis.com/2.46/chromedriver_linux64.zip (reemplace 2.46 bits si es necesario, vea las versiones compatibles aquí: http://chromedriver.chromium.org/downloads )
  3. Descomprima, convierta a ejecutable ejecutando chmod +x chromedriver
  4. Muévalo a mv -f chromedriver /usr/local/bin/chromedriver para que aparezca en PATH

Esto debería resolver un problema. Pensé que la actualización no funciona porque cuando la probé por primera vez, no eliminé la versión anterior y aún la estaba usando accidentalmente.

Tuve este mismo problema, y ​​el problema se debió a la versión de chromedriver .

Asegúrese de que está utilizando el último navegador Chrome junto con el último chromedriver .