Heim >Backend-Entwicklung >Python-Tutorial >Warum löst Selenium eine „NoSuchDriverException' aus und wie kann ich das beheben?

Warum löst Selenium eine „NoSuchDriverException' aus und wie kann ich das beheben?

Susan Sarandon
Susan SarandonOriginal
2024-12-10 17:55:15172Durchsuche

Why Does Selenium Throw a `NoSuchDriverException` and How Can I Fix It?

Selenium Webdriver kann nicht verwendet werden: Zwei Ausnahmen

Bei dem Versuch, ein Objekt mit Selenium Webdriver zu erstellen, tritt der folgende Fehler auf:

AttributeError: 'str' object has no attribute 'capabilities'

During handling of the above exception, another exception occurred:

selenium.common.exceptions.NoSuchDriverException: Message: Unable to obtain chromedriver using Selenium Manager; 'str' object has no attribute 'capabilities'

Untersuchung des Codes

Der problematische Code erscheint als folgt:

from selenium import webdriver

chrome_driver_path = <chrome drive .exe path>
driver = webdriver.Chrome(chrome_driver_path)

Vereinfachung der Lösung

Für Selenium-Versionen v4.6.0 und höher ist die explizite Angabe des Treiberstandorts veraltet. Selenium kann den Browser und die Treiber unabhängig voneinander verwalten. Daher kann der Code wie folgt vereinfacht werden:

from selenium import webdriver

driver = webdriver.Chrome()
driver.get("https://www.google.com/")
driver.quit()

Selenium Manager verstehen

Selenium Manager automatisiert den Speicherort und den Abruf von Webdriver-Binärdateien, sodass der Speicherort des Treibers nicht manuell angegeben werden muss. Diese Funktion vereinfacht den Selenium-Setup-Prozess, insbesondere für Versionen v4.6.0 und höher.

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn