web-dev-qa-db-fra.com

WebDriverException: Message: Le service chromedriver est sorti de manière inattendue. Le code de statut était: 127

J'aimerais construire mon robot d'exploration en utilisant Selenium sur mon serveur.

Ainsi, j'avais installé/téléchargé les dépendances requises, telles que chromedriver, navigateur chrome, etc. sur mon serveur Ubuntu17.10

Cependant, quand je lance le code suivant:

driver = webdriver.Chrome()

Il retourne l'erreur suivante:

---------------------------------------------------------------------------
WebDriverException                        Traceback (most recent call last)
<ipython-input-14-2cdab8938403> in <module>()
----> 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'est-ce que cela signifie que c'est excité ..? 

Je ne peux pas comprendre quelle était l'intention initiale de ce code d'erreur et par où commencer pour le corriger.

Il semble très rare cas.

Peut-être pertinent:

J'avais installé ubuntu desktop 17.10 sur mon bureau mais je n'ai pas réussi à obtenir le démarrage via l'interface graphique. Ainsi, je n’utilise que le terminal, mais cela fonctionne jusqu’à présent . J’avais installé ssh et jupyter notebook à distance depuis mon Mac sur le bureau du serveur, et ces erreurs en découlent . J'espère que cette information est pertinente. résoudre cette erreur, sinon l'abandonnera.

6
delinco

Il semble que chromedriver a besoin de bibliothèques supplémentaires. Cela a résolu le problème pour moi:

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

Je travaillais sur une configuration similaire en utilisant un conteneur Docker au lieu d'un serveur/VM sans X/GUI.

Pour déterminer quelles dépendances sont nécessaires, j'ai essayé de manière répétée de l'exécuter à partir de la ligne de commande, comme suit: /opt/chromedriver/2.33/chromedriver --version encore et encore.

Puis, à chaque heure, j’ai utilisé des commandes telles que apt-cache search <STUFF> et apt-cache madison <STUFF> pour déterminer la version exacte du paquetage deb requise par chromedriver 2.33 (dans mon cas, mais j’imagine que quelque chose de similaire fonctionnerait pour n’importe quelle version de chromedriver).

13
TPPZ

J'ai rencontré la même erreur lors de l'utilisation de Selenium/chromedriver sur mon VPS. J'ai installé chromium-browser et le problème a disparu. 

Sudo apt-get install -y chromium-browser

Peut-être que ce n'est pas le chromium-browser qui est nécessaire, mais les paquetages ont été installés avec. Cependant, c'était une solution rapide.

5
Hieu

Résolu en retirant soigneusement le pilote chromed existant et en le mettant à jour vers une version plus récente:

  1. Supprimer tous les fichiers chromedriver existants
  2. Téléchargez wget https://chromedriver.storage.googleapis.com/2.46/chromedriver_linux64.Zip (remplacez le bit 2.46 par le plus récent, voir les versions compatibles ici: http://chromedriver.chromium.org/downloads )
  3. Décompressez, convertissez en exécutable en exécutant chmod +x chromedriver
  4. Déplacez-le vers mv -f chromedriver /usr/local/bin/chromedriver pour qu'il apparaisse dans PATH

Cela devrait résoudre un problème. Je pensais que la mise à jour ne fonctionnait pas, car lorsque je l'ai essayée pour la première fois, je n'ai pas supprimé l'ancienne version et je l'utilisais encore accidentellement.

1
python481516

Lorsque vous travaillez avec Selenium v3.11.0, ChromeDriver v2.36 et Chrome v64.x, vous devez télécharger le dernier ChromeDriver à partir de ChromeDriver - WebDriver pour Chrome et placez-le dans votre système. Ensuite, lors de l'initialisation de WebDriver et de WebBrowser, vous devez transmettre l'argument executable_path ainsi que le chemin absolu de ChromeDriver comme suit:

from Selenium import webdriver

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

J'ai eu le même problème, et le problème était dû à la version de chromedriver.

Assurez-vous que vous utilisez les dernières navigateur Chrome avec les dernières chromedriver .

0
Pratik Patel