Selenium WebDriver : résolution de l'erreur « NoSuchDriverException »
L'incapacité d'utiliser Selenium WebDriver fait souvent surface à travers l'erreur frustrante « NoSuchDriverException ». Cette exception se produit généralement lorsque vous essayez de créer un objet avec Selenium WebDriver, comme illustré dans le message d'erreur fourni.
La cause sous-jacente
Une analyse de la trace d'erreur révèle deux exceptions distinctes :
AttributeError : l'objet 'str' n'a pas attribut 'capabilities'
Cette exception se produit lorsque Selenium Manager tente d'accéder à l'attribut "capabilities" d'un objet d'options, qui est censé être un dictionnaire. Cependant, l'objet d'options fourni est une chaîne, conduisant à l'écart.
NoSuchDriverException : impossible d'obtenir {service.path} à l'aide de Selenium Manager ; {err>
Cette exception signifie que Selenium Manager n'est pas en mesure de localiser l'exécutable du pilote (par exemple, chromedriver.exe). Cela peut se produire pour plusieurs raisons, notamment un chemin de pilote incorrect spécifié ou l'impossibilité d'accéder à l'emplacement du pilote fourni.
Solution simplifiée
Heureusement , si vous utilisez Selenium version 4.6.0 ou supérieure, Selenium Manager gère la gestion des navigateurs et des pilotes de manière transparente. Par conséquent, vous n'avez pas besoin de spécifier explicitement le chemin exécutable du pilote.
Code révisé
Pour résoudre le problème, vous pouvez modifier votre code comme suit :
from selenium import webdriver driver = webdriver.Chrome() driver.get("https://www.google.com/") driver.quit()
Ressources supplémentaires
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!