WebDriverException: Nachricht: Geckodriver Executable Needs to Be in PATH Error in Python
-
Verwenden Sie die Datei
geckodriver.exe
und fügen Sie sie dem SystemPATH
hinzu -
Verwenden Sie den Parameter
executable_path
in der Funktionwebdriver.Firefox()
-
Verwenden Sie das Modul
webdriver-manager
Das selenium
-Paket in Python kann Aufgaben in einem Webbrowser automatisieren. Mit ihren Webtreibern können wir verschiedene Webbrowser wie Google Chrome, Firefox und mehr verwenden.
Dieses Tutorial behandelt den Fehler Message: 'geckodriver' executable need to be in PATH
in Python.
Der geckodriver
ist eine von Mozilla entwickelte Browser-Engine, die als Bindeglied zwischen Selenium und dem Firefox-Browser fungiert. Dieser Fehler tritt auf, wenn der Treiber nicht richtig installiert oder sein Pfad nicht richtig angegeben ist.
Siehe Code unten.
from selenium import webdriver
browser = webdriver.Firefox()
Ausgang:
WebDriverException: Message: 'geckodriver' executable needs to be in PATH.
Lassen Sie uns nun verschiedene Möglichkeiten zur Behebung dieses Fehlers diskutieren.
Verwenden Sie die Datei geckodriver.exe
und fügen Sie sie dem System PATH
hinzu
Selenium versucht, die ausführbare Treiberdatei anhand der Systemumgebungsvariablen PATH
zu identifizieren. Wir können dieser Variablen den ausführbaren Pfad des geckodriver
hinzufügen.
Zuerst müssen wir die ausführbare Datei des Treibers von der offiziellen Mozilla-Website herunterladen. Wir müssen den Pfad des Verzeichnisses, das diese ausführbare Datei enthält, zur zuvor besprochenen PATH
-Variable hinzufügen.
Die Variable PATH
finden Sie im Menü Umgebungsvariablen
. Wir müssen mit der rechten Maustaste auf das Symbol Dieser PC
klicken, zu Eigenschaften
gehen und die Option Erweiterte Einstellungen
auswählen, um dieses Menü zu erhalten.
Linux-Benutzer können die ausführbare Datei direkt in das Verzeichnis /usr/local/bin
kopieren.
Verwenden Sie den Parameter executable_path
in der Funktion webdriver.Firefox()
Wir verwenden den Konstruktor webdriver.Firefox()
, um das Driver
-Objekt zu erstellen, das das Browserfenster öffnen und die automatisierten Aufgaben ausführen kann. Wir können den Pfad der ausführbaren Datei geckodriver
innerhalb dieser Funktion mit dem Parameter executable_path
angeben.
Zum Beispiel:
from selenium import webdriver
driver = webdriver.Firefox(executable_path=r"user\pathofdriver\geckodriver.exe")
Benutzer von Mac OS können den geckodriver
auch mit homebrew
installieren. Der folgende Befehl kann verwendet werden.
brew install geckodriver
Nach der Installation wird der Pfad des Treibers angezeigt. Wir können diesen Pfad kopieren, in die Anwendung Finder
einfügen und auf Gehe zum Ordner
klicken.
Dadurch wird der vollständige Pfad des Treibers zurückgegeben, der im Parameter executable_path
verwendet werden kann.
Verwenden Sie das Modul webdriver-manager
Um die Verwaltung der Webtreiber verschiedener Browser zu erleichtern, wurde das Modul webdriver-manager
eingeführt.
Wir können die Funktionen GeckoDriverManager().install()
verwenden, um die ausführbare Datei für den geckodriver
zu installieren und zu verwenden. Dies muss im zuvor besprochenen Parameter executable_path
angegeben werden.
Siehe Code unten.
from selenium import webdriver
from webdriver_manager.firefox import GeckoDriverManager
driver_object = webdriver.Firefox(executable_path=GeckoDriverManager().install())
Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.
LinkedInVerwandter Artikel - Python Selenium
- Aktionsketten in Selenium Python
- Die Funktion getAttribute() in Selenium Python
- Die Funktion send_keys() in Selenium Python
- Finden Sie Element nach Text mit Selenium in Python
- Finden Sie Elemente mit Selen in Python
- Fügen Sie Selenium Web Driver Wait in Python hinzu
Verwandter Artikel - Python Error
- Adresse wird bereits verwendet Fehler in Python
- AttributeError: __Exit__ in Python
- AttributeError: 'Dict'-Objekt hat kein Attribut 'Append' in Python
- AttributeError: 'NoneType'-Objekt hat kein Attribut 'Text' in Python
- AttributeError: Int-Objekt hat kein Attribut
- AttributeError: Modul Urllib hat keine Attributanforderung