Ich verwende Selen 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 habe ich die Zip-Datei in meinen Download-Ordner entpackt. Dann habe ich den Pfad zur ausführbaren Binärdatei (C: \ Users \ michael \ Downloads \ chromedriver_win32) in die Umgebungsvariable "Path" eingefügt.
Wenn ich jedoch den folgenden Code ausführe:
from selenium import webdriver
driver = webdriver.Chrome()
... Ich erhalte immer wieder die 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 - die ausführbare Datei befindet sich (!) Im Pfad ... was ist hier los?
python
selenium
selenium-chromedriver
stetige Fortschritte
quelle
quelle
chromedriver.exe
in dasselbe Verzeichnis wie Ihr Python-Skript zu kopieren .choco install chromedriver
.Antworten:
Sie können testen, ob es sich tatsächlich im PATH befindet, wenn Sie ein
chromedriver
cmd öffnen und eingeben (vorausgesetzt, Ihre ausführbare Chromedriver-Datei heißt noch immer so) und die Eingabetaste drücken. WennStarting ChromeDriver 2.15.322448
angezeigt wird, ist der PFAD entsprechend eingestellt und es läuft etwas anderes schief.Alternativ können Sie einen direkten Pfad zum Chromedriver wie folgt verwenden:
Also in Ihrem speziellen Fall:
quelle
pip
?Ich sehe, dass in den Diskussionen immer noch über die alte Methode zum Einrichten von chromedriver gesprochen wird, indem die Binärdatei heruntergeladen und der Pfad manuell konfiguriert wird.
Dies kann automatisch mit dem Webdriver-Manager erfolgen
Jetzt funktioniert der obige Code in der Frage einfach mit der folgenden Änderung:
Das gleiche kann verwendet werden, um Firefox-, Edge- und dh Binärdateien festzulegen.
quelle
Dieselbe Situation wie bei der Pycharm Community Edition. Wie bei cmd müssen Sie Ihre ide neu starten, um die Pfadvariablen neu zu laden. Starten Sie Ihre Idee neu und es sollte in Ordnung sein.
quelle
Unter Linux (Ubuntu oder Debian):
Installieren Sie unter macOS https://brew.sh/ und tun Sie dies dann
quelle
driver = webdriver.Chrome()
gut für mich funktioniert.Wir müssen eine Pfadzeichenfolge hinzufügen, beginnend mit dem Buchstaben
r
vor der Zeichenfolge für die Rohzeichenfolge. Ich habe auf diese Weise getestet und es funktioniert.quelle
Einige zusätzliche Eingaben / Erläuterungen für zukünftige Leser dieses Threads, um ein Basteln mit der PATH-Umgebung zu vermeiden. Variable auf Windows-Ebene und Neustart des Windows-Systems: (Kopie meiner Antwort von https://stackoverflow.com/a/49851498/9083077, wie für Chrome zutreffend):
(1) Laden Sie chromedriver herunter (wie in diesem Thread zuvor beschrieben) und platzieren Sie die (entpackte) chromedriver.exe unter X: \ Folder \ Ihrer Wahl
(2) Python-Codebeispiel:
Hinweise: (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 zeigt den folgenden Fehler an, wenn noch kein Server mit der angegebenen URL ausgeführt wird oder eine Seite mit dem Titel mit der Zeichenfolge 'Django' bereitgestellt wird: Aktivieren Sie 'Django' in browser.title AssertionError
quelle
Für Linux und OSX
Schritt 1: Laden Sie chromedriver herunter
Schritt 2: Fügen Sie chromedriver hinzu
/usr/local/bin
Sie sollten jetzt laufen können
ohne Probleme
quelle
Geben Sie beim Entpacken von chromedriver einen genauen Speicherort an, damit Sie ihn später verfolgen können. Im Folgenden erhalten Sie den richtigen Chromedriver für Ihr Betriebssystem und entpacken ihn an einen genauen Speicherort, 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/
quelle
/usr/local/bin/
global zu installieren.Wenn Sie mit dem Roboter-Framework RIDE arbeiten. Dann können Sie
Chromedriver.exe
von der offiziellen Website herunterladen und diese EXE-Datei imC:\Python27\Scripts
Verzeichnis aufbewahren. Erwähnen Sie nun diesen Pfad als Ihre 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 wieder bekommen.
quelle
Gemäß der Anweisung müssen Sie den Pfad zu ChromeDriver angeben, wenn Sie den Webdriver instanziieren.
quelle
Stellen Sie vor dem Hinzufügen des Chromedrivers zu Ihrem Pfad sicher, dass er dieselbe Version wie Ihr Browser hat.
Wenn nicht, müssen Sie die Versionen anpassen: Aktualisieren / downgraden Sie Ihr Chrome und aktualisieren / downgraden Sie Ihren Web-Treiber.
Ich empfehle, Ihre Chrome-Version so weit wie möglich zu aktualisieren und den Web-Treiber anzupassen.
So aktualisieren Sie Chrome:
help
->About Google Chrome
Laden Sie dann die kompatible Version von hier herunter: http://chromedriver.chromium.org/downloads .
Hinweis: Der neueste Chromtreiber passt nicht immer zur neuesten Chromversion!
Jetzt können Sie es dem PFAD hinzufügen:
Erstellen Sie irgendwo auf Ihrem Computer einen neuen Ordner, in dem Sie Ihre Webtreiber ablegen. Ich habe einen Ordner mit dem Namen
webdrivers
in erstelltC:\Program Files
Kopieren Sie den Ordnerpfad. In meinem Fall war es
C:\Program Files\webdrivers
Rechtsklick auf
this PC
->properties
:Advanced System settings
Environment Variables
System variables
, klicken Sie aufpath
und klicken Sie aufedit
new
Das ist es! Ich habe Pycharm benutzt und musste es wieder öffnen. Vielleicht ist es das gleiche mit anderen IDEs oder Terminals.
quelle
Könnte versuchen, den Computer neu zu starten, wenn er nicht funktioniert, nachdem Sie sicher sind, dass PATH richtig eingestellt ist.
In meinem Fall unter Windows 7 wurde bei WebDriverException immer der Fehler angezeigt: Nachricht: für chromedriver, gecodriver, IEDriverServer. Ich bin mir ziemlich sicher, dass ich den richtigen Weg habe. Starten Sie den Computer neu, alle funktionieren
quelle
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 von Chromedriver überprüft.
quelle
Wenn Sie einen Remote-Interpreter verwenden, müssen Sie auch überprüfen, ob der ausführbare Pfad definiert ist. In meinem Fall löste der Wechsel vom Remote-Docker-Interpreter zum lokalen Interpreter das Problem.
quelle
Ich bin auf dasselbe Problem gestoßen wie Sie. Ich verwende PyCharm zum Schreiben von Programmen, 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 dann den Pfad in Umgebungsvariablen manuell bearbeitet habe. Ich hoffe, Sie finden das hilfreich!
quelle
Fügen Sie hier den Webdriver (chromedriver.exe oder geckodriver.exe) C: \ Windows hinzu . Das hat in meinem Fall funktioniert
quelle
Der beste Weg ist vielleicht, das aktuelle Verzeichnis abzurufen und die verbleibende Adresse daran anzuhängen. Wie dieser Code (Word unter Windows. Unter Linux können Sie etwas Zeile pwd verwenden):
webdriveraddress = str(os.popen("cd").read().replace("\n", ''))+'\path\to\webdriver'
quelle
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 einfach in den Pycharm Community-Bin-Ordner verschoben, der sich ebenfalls in PATH befand. Ex:
quelle
Hatte dieses Problem mit Mac Mojave, auf dem das Robot Test Framework und Chrome 77 ausgeführt wurden. Dies löste das Problem. Ein großes Lob an Navarasu, dass er mich auf den richtigen Weg gebracht hat.
Als nächstes in der Python-Eingabeaufforderung:
Dies führt zu folgendem Fehler:
~/chromedriver/chromedriver
~/.bash_profile
Mit Editor öffnen und hinzufügen:Öffnen Sie das neue Terminalfenster, ta-da 🎉
quelle
Ich hatte dieses Problem unter Webdriver 3.8.0 (Chrome 73.0.3683.103 und ChromeDriver 73.0.3683.68). Das Problem verschwand, nachdem ich es getan hatte
um Webdriver auf 3.14.1 zu aktualisieren.
quelle
Der beste Weg ist sicher hier:
Laden Sie chromedriver herunter, entpacken Sie es und fügen Sie 'chromedriver.exe' in C: \ Python27 \ Scripts ein. Dann müssen Sie nicht nur den Pfad des Treibers angeben
Sie müssen keine Pfade oder ähnliches hinzufügen
quelle
Überprüfen Sie den Pfad Ihres Chrome-Treibers, der von dort möglicherweise nicht abgerufen wird. Kopieren Sie einfach den Treiberspeicherort und fügen Sie ihn in den Code ein.
quelle
(für Mac-Benutzer) Ich habe das gleiche Problem, aber ich habe es auf einfache Weise gelöst: Sie müssen Ihre chromedriver.exe im selben Ordner zu Ihrem ausgeführten Skript ablegen und dann in pyhton diese Anweisung schreiben:
os importieren
os.environ ["PATH"] + = os.pathsep + r'X: / your / folder / script / '
quelle