wake-up-neo.com

WebDriverException: Nachricht: Dienst Chromedriver wurde unerwartet beendet Statuscode war: 127

Ich möchte meinen Crawler mit Selenium auf meinem Server erstellen.

Daher hatte ich auf meinem Ubuntu17.10-Server die erforderlichen Abhängigkeiten wie Chromdriver, Chrom-Browser usw. installiert/heruntergeladen

Wenn ich jedoch folgenden Code ausführen:

driver = webdriver.Chrome()

Es wird folgender Fehler zurückgegeben:

---------------------------------------------------------------------------
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

Was bedeutet es, dass es aufgeregt ist ..? 

Ich kann nicht die ursprüngliche Absicht dieses Fehlercodes ermitteln und wo ich anfangen kann, den Fehler zu beheben.

Es sieht sehr selten aus.

Vielleicht relevant:

Ich hatte Ubuntu Desktop 17.10 auf meinem Desktop installiert, konnte den GUI-Start jedoch nicht starten. Daher benutze ich nur das Terminal, aber es funktioniert soweit. Ich hatte SSH installiert und ferngesteuertes Jupyter-Notebook von meinem Mac auf den Server-Desktop installiert, und diese Fehler kommen von ihm Diesen Fehler beheben, sonst wird er abgebrochen.

6
delinco

Es scheint, dass chromedriver einige zusätzliche Bibliotheken benötigt. Dies löste das Problem für mich:

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

Ich arbeitete an einem ähnlichen Setup mit einem Docker-Container anstelle eines Servers/einer VM ohne X/GUI.

Um herauszufinden, welche Abhängigkeiten erforderlich sind, habe ich iterativ versucht, es von der Befehlszeile aus wie folgt auszuführen: /opt/chromedriver/2.33/chromedriver --version immer und immer wieder.

Dann habe ich zur Zeit der Abtei Befehle wie apt-cache search <STUFF> und apt-cache madison <STUFF> verwendet, um die genaue Version des deb-Pakets herauszufinden, das von chromedriver 2.33 benötigt wird (in meinem Fall, aber ich denke, etwas ähnliches würde für jede Version von chromedriver funktionieren).

13
TPPZ

Bei der Verwendung von Selenium/Chromedriver auf meinem VPS ist der gleiche Fehler aufgetreten. Ich habe chromium-browser installiert und das Problem war weg. 

Sudo apt-get install -y chromium-browser

Vielleicht ist es nicht der chromium-browser, aber die Pakete wurden mit installiert. Dies war jedoch eine schnelle Lösung.

5
Hieu

Gelöst durch vorsichtiges Entfernen des vorhandenen Laufwerks und Aktualisierung auf eine neuere Version:

  1. Löschen Sie alle vorhandenen Chromedriver-Dateien
  2. Laden Sie wget https://chromedriver.storage.googleapis.com/2.46/chromedriver_linux64.Zip herunter (ersetzen Sie ggf. das 2.46-Bit durch das neuere, siehe kompatible Versionen hier: http://chromedriver.chromium.org/downloads )
  3. Entpacken, in ausführbare Datei konvertieren, indem chmod +x chromedriver ausgeführt wird
  4. Verschiebe es nach mv -f chromedriver /usr/local/bin/chromedriver, damit es in PATH erscheint

Dies sollte ein Problem lösen. Ich dachte, dass das Update nicht funktioniert, denn als ich es zum ersten Mal ausprobierte, habe ich die ältere Version nicht entfernt und ich habe sie immer noch versehentlich verwendet.

1
python481516

Bei der Arbeit mit Selenium v3.11.0, ChromeDriver v2.36 und Chrome v64.x müssen Sie den neuesten ChromeDriver vom ChromeDriver - WebDriver für Chrome herunterladen und platzieren Sie es in Ihrem System. Beim Initialisieren des WebDriver und des WebBrowser müssen Sie das Argument executable_path zusammen mit dem absoluten Pfad des ChromeDriver wie folgt übergeben:

from Selenium import webdriver

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

Ein Zurücksetzen auf ältere Versionen könnte ebenfalls eine Lösung sein ...

Ich benutze Ubuntu 18.10 und habe die neuesten Versionen von Selenium (3.141.0) und ChromeDriver (75.0.3770.8) installiert, hatte aber auch die gleichen Berechtigungsprobleme und danach den Statuscode 127.

Ich habe versucht, Chromium zu installieren, und festgestellt, dass Ubuntu Version 73 verwendet. Daher habe ich von der neuesten Version von Chromedriver (75 zu diesem Zeitpunkt) zurück auf Version 73 gewechselt und das hat bei mir funktioniert.

0
S7bvwqX

Ich hatte das gleiche Problem und das Problem war auf die Version chromedriver zurückzuführen.

Stellen Sie sicher, dass Sie den neuesten Chrome Browser zusammen mit dem neuesten Chromedriver verwenden.

0
Pratik Patel