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'
Der problematische Code erscheint als folgt:
from selenium import webdriver chrome_driver_path = <chrome drive .exe path> driver = webdriver.Chrome(chrome_driver_path)
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 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!