Auflösen von Webdriver-Ausnahmen: Fehlerbehebung bei NoSuchDriverException
Beim Versuch, ein Objekt mit Selenium Webdriver zu erstellen, kann der folgende Fehler auftreten:
selenium.common.exceptions.NoSuchDriverException: Message: Unable to obtain <path-to-chromedriver> using Selenium Manager; 'str' object has no attribute 'capabilities';
Fehler Analyse
Diese Fehlermeldung weist darauf hin, dass der Selenium Manager nicht in der Lage ist, den richtigen Pfad zum Browsertreiber, in diesem Fall dem Chromedriver, zu finden. Infolgedessen kann der Selenium-Vorgang den Browser nicht initialisieren, was die NoSuchDriverException auslöst.
Ursache
Die Grundursache dieses Fehlers hängt oft mit einem falschen Selenium zusammen Version oder ein veraltetes Selenium Manager.
Lösung
Um dieses Problem zu beheben, führen Sie die folgenden Schritte aus:
1. Überprüfen Sie die Selenium-Version
Stellen Sie sicher, dass Sie Selenium v4.6.0 oder höher verwenden. In v4.6.0 führte Selenium den Selenium Manager ein, der automatisch die Treiberverwaltung übernimmt, anstatt sich auf die herkömmliche Pfadkonfiguration zu verlassen.
2. Aktualisieren Sie Selenium Manager
Wenn Sie Selenium v4.6.0 oder höher verwenden, versuchen Sie, den Selenium Manager auf die neueste Version zu aktualisieren. Dies kann mit dem folgenden Befehl erfolgen:
pip install -U selenium-webdriver
3. Vereinfachter Code
Sobald der Selenium Manager aktualisiert ist, können Sie Ihren Code wie folgt vereinfachen:
from selenium import webdriver driver = webdriver.Chrome() driver.get("https://www.google.com/") driver.quit()
Referenzen
Weitere Informationen Informationen und Dokumentation zur Treiberverwaltung mit Selenium finden Sie in den folgenden Ressourcen:
Das obige ist der detaillierte Inhalt vonWarum löst Selenium eine NoSuchDriverException aus und wie kann ich das beheben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!