it-swarm.com.de

Fehlermeldung: "Die ausführbare Datei 'chromedriver' muss im Pfad verfügbar sein."

Ich verwende Selenium mit Python und habe den Chromedriver für meinen Windows-Computer von dieser Website heruntergeladen: http://chromedriver.storage.googleapis.com/index.html?path=2.15/

Nach dem Herunterladen der Zip-Datei entpackte ich die Zip-Datei in meinen Downloadordner. Dann füge ich den Pfad zur ausführbaren Binärdatei (C:\Users\michael\Downloads\chromedriver_win32) in die Umgebungsvariable "Path" ein.

Wenn ich jedoch den folgenden Code ausführen:

  from Selenium import webdriver

  driver = webdriver.Chrome()

... bekomme ich folgende Fehlermeldung:

WebDriverException: Message: 'chromedriver' executable needs to be available in the path. Please look at     http://docs.seleniumhq.org/download/#thirdPartyDrivers and read up at http://code.google.com/p/Selenium/wiki/ChromeDriver

Aber - wie oben erklärt - ist die ausführbare Datei (!) Im Pfad ... was ist hier los?

83
steady_progress

Sie können testen, ob es sich tatsächlich im PATH befindet, wenn Sie eine cmd öffnen und chromedriver eingeben (vorausgesetzt, Ihre Chromedriver-Programmdatei hat noch immer den Namen) und drücken Sie die Eingabetaste. Wenn Starting ChromeDriver 2.15.322448 angezeigt wird, ist der PFAD richtig eingestellt, und etwas anderes läuft schief.

Alternativ können Sie einen direkten Pfad zum Chromreiber wie folgt verwenden:

 driver = webdriver.Chrome('/path/to/chromedriver') 

Also in Ihrem speziellen Fall:

 driver = webdriver.Chrome("C:/Users/michael/Downloads/chromedriver_win32/chromedriver.exe")
99
lmNt

Ich sehe, dass die Diskussionen immer noch über die alte Art der Einrichtung von Chromedriver sprechen, indem ich die Binärdatei herunterlade und den Pfad manuell konfiguriert.

Dies kann automatisch mit webdriver-manager erfolgen.

pip install webdriver-manager

Nun funktioniert der obige Code in der Frage einfach mit der folgenden Änderung:

from Selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager

driver = webdriver.Chrome(ChromeDriverManager().install())

Das gleiche kann verwendet werden, um Firefox, Edge und Binärdateien einzustellen

15
Navarasu

Wir müssen eine Pfadzeichenfolge hinzufügen, die mit dem Buchstaben r vor der Zeichenfolge beginnt, für eine Rohzeichenfolge. Ich habe so getestet, und es funktioniert.

driver = webdriver.Chrome(r"C:/Users/michael/Downloads/chromedriver_win32/chromedriver.exe")
9
James0007

Gleiche Situation bei der pycharm Community Edition. Wie bei cmd müssen Sie Ihre ide neu starten, um Pfadvariablen neu zu laden. Starten Sie Ihre Idee neu und es sollte in Ordnung sein.

6
Andrea Bisello

Bitte geben Sie beim Entpacken des Chromdrivers einen genauen Speicherort an, damit Sie ihn später nachverfolgen können. Unten erhalten Sie den richtigen Chromedriver für Ihr Betriebssystem und entpacken ihn an einen genauen Ort, der später in Ihrem Code als Argument angegeben werden kann.

wget http://chromedriver.storage.googleapis.com/2.10/chromedriver_linux64.Zip unzip chromedriver_linux64.Zip -d /home/virtualenv/python2.7.9/

2
Harshdeep Singh

Einige zusätzliche Eingaben/Erläuterungen für zukünftige Leser dieses Threads , Um zu vermeiden, an der PATH-Umgebung zu basteln. Variable auf Windows-Ebene und Neustart des Windows-Systems: (Kopie meiner Antwort von https://stackoverflow.com/a/49851498/9083077 je nach Chrome-Version):

(1) Laden Sie chromedriver herunter (wie in diesem Thread zuvor beschrieben) und platzieren Sie die (entpackte) chromedriver.exe unter X:\Folder\of\your\choice

(2) Python-Codebeispiel:

import os;
os.environ["PATH"] += os.pathsep + r'X:\Folder\of\your\choice';

from Selenium import webdriver;
browser = webdriver.Chrome();
browser.get('http://localhost:8000')
assert 'Django' in browser.title

Anmerkungen: (1) Es kann ungefähr 5 Sekunden dauern, bis der Beispielcode (in der Antwort, auf die verwiesen wird) den Firefox-Browser für die angegebene URL öffnet . (2) Die Python-Konsole würde den folgenden Fehler anzeigen, wenn Es wird kein Server mit der angegebenen URL ausgeführt oder eine Seite mit dem Titel "Django": Bestätigen Sie "Django" in browser.title AssertionError

1
Snidhi Sofpro

In meinem Fall verschwindet dieser Fehler, wenn ich die Chromedriver-Datei in den Ordner c:\Windows kopiert habe. Das Windows-Verzeichnis befindet sich in dem Pfad, in dem das Python-Skript die Verfügbarkeit des Chromedrivers überprüft. 

0
Hamid

Ich bin auf dasselbe Problem gestoßen wie deins. Ich benutze PyCharm, um Programme zu schreiben, und ich denke, das Problem liegt eher in der Einrichtung der Umgebung in PyCharm als im Betriebssystem. Ich habe das Problem gelöst, indem ich zur Skriptkonfiguration gegangen bin und den PFAD in Umgebungsvariablen manuell bearbeitet habe. Ich hoffe, Sie finden das hilfreich!

0
sia1998

Am besten holen Sie sich das aktuelle Verzeichnis und fügen die verbleibende Adresse hinzu. Wie dieser Code (Word unter Windows. Unter Linux können Sie eine Zeile pwd verwenden): webdriveraddress = str(os.popen("cd").read().replace("\n", ''))+'\path\to\webdriver'

0
Aidin

Als ich chromedriver.exe heruntergeladen habe, habe ich es einfach in den PATH-Ordner C:\Windows\System32\chromedriver.exe verschoben und hatte genau das gleiche Problem.

Für mich bestand die Lösung darin, nur den Ordner in PATH zu ändern, also habe ich ihn in den Pycharm Community-Bin-Ordner verschoben, der sich auch in PATH befand. Ex:

  • C:\Windows\System32\chromedriver.exe -> Gab mir eine Ausnahme
  • C:\Programme\JetBrains\PyCharm Community Edition 2019.1.3\bin\chromedriver.exe -> hat einwandfrei funktioniert
0
Denis Imamovic

Wenn Sie einen Remote-Interpreter verwenden, müssen Sie auch prüfen, ob die ausführbare Datei PATH definiert ist. In meinem Fall löste der Wechsel von einem Remote-Docker-Dolmetscher zu einem lokalen Dolmetscher das Problem. 

0
Rafał

Überprüfen Sie den Pfad für den Chrome-Treiber. Möglicherweise wird er von dort nicht abgerufen. Kopieren Sie einfach den Speicherort des Treibers in den Code.

0
ChandyShot

Wenn Sie mit dem Roboter-Framework RIDE arbeiten. Dann können Sie Chromedriver.exe von der offiziellen Website herunterladen und diese .exe-Datei im C:\Python27\Scripts-Verzeichnis aufbewahren. Erwähnen Sie nun diesen Pfad als Umgebungsvariable, z. C:\Python27\Scripts\chromedriver.exe.

Starten Sie Ihren Computer neu und führen Sie denselben Testfall erneut aus. Sie werden dieses Problem nicht mehr erhalten.

0
Rahul Tiwari

Gemäß der Anweisung muss der Pfad zu ChromeDriver angegeben werden, wenn der Web-Treiber instanziiert wird. Beispiel:

driver = webdriver.Chrome('/path/to/chromedriver')
0
AnnaSummerShine

Sie könnten versuchen, den Computer neu zu starten, wenn dies nicht funktioniert, nachdem Sie sich sicher sind, dass der Pfad richtig eingestellt ist.

In meinem Fall unter Windows 7 habe ich immer den Fehler bei WebDriverException erhalten: Nachricht: für Chromedriver, Gecodriver, IEDriverServer. Ich bin mir ziemlich sicher, dass ich den richtigen Weg habe. Computer neu starten, alles funktioniert

0
learningBunny

Stellen Sie vor dem Hinzufügen des Chromedrivers zu Ihrem Pfad sicher, dass es sich um dieselbe Version handelt wie Ihr Browser.

Andernfalls müssen Sie die Versionen abgleichen: Aktualisieren/Downgraden Sie Chrome, und aktualisieren/Downgraden Sie Ihren Webtreiber.

Ich empfehle, Ihre Chrome-Version so weit wie möglich zu aktualisieren und den passenden Web-Treiber zu verwenden.

So aktualisieren Sie Chrome:

  • Klicken Sie oben rechts auf die drei Punkte.
  • klicken Sie auf help -> About Google Chrome
  • aktualisiere die version und starte chrome neu

Dann laden Sie die kompatible Version hier herunter: http://chromedriver.chromium.org/downloads .

Hinweis: Der neueste Chromedriver stimmt nicht immer mit der neuesten Version von Chrom überein!

Jetzt können Sie es dem PATH hinzufügen:

  1. erstellen Sie irgendwo auf Ihrem Computer einen neuen Ordner, in dem Sie Ihre Webtreiber ablegen. Ich habe einen Ordner mit dem Namen webdrivers in C:\Program Files erstellt.

  2. kopieren Sie den Ordnerpfad. In meinem Fall war es C:\Program Files\webdrivers

  3. rechtsklick auf this PC -> properties:

 enter image description here 

  1. Rechtsklick Advanced System settings
  2. Klicken Sie auf Environment Variables
  3. Klicken Sie in System variables auf path und dann auf edit.
  4. klicken Sie auf new
  5. fügen Sie den zuvor kopierten Pfad ein
  6. klicken Sie in allen Fenstern auf OK

Das ist es! Ich habe pycharm benutzt und musste es wieder öffnen. Vielleicht ist es dasselbe mit anderen IDEs oder Terminals.

0
Alon Gouldman

Fügen Sie den Webtreiber (chromedriver.exe oder geckodriver.exe) hier hinzu C:\Windows. Das hat in meinem Fall funktioniert

0