WebDriverException: Nachricht: Geckodriver Executable Needs to Be in PATH Error in Python

Manav Narula 21 Juni 2023
  1. Verwenden Sie die Datei geckodriver.exe und fügen Sie sie dem System PATH hinzu
  2. Verwenden Sie den Parameter executable_path in der Funktion webdriver.Firefox()
  3. Verwenden Sie das Modul webdriver-manager
WebDriverException: Nachricht: Geckodriver Executable Needs to Be in PATH Error in Python

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 Narula avatar Manav Narula avatar

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.

LinkedIn

Verwandter Artikel - Python Selenium

Verwandter Artikel - Python Error