Maison > développement back-end > Tutoriel Python > Pourquoi Selenium lance-t-il une exception NoSuchDriverException et comment puis-je y remédier ?

Pourquoi Selenium lance-t-il une exception NoSuchDriverException et comment puis-je y remédier ?

Linda Hamilton
Libérer: 2024-12-22 05:27:09
original
209 Les gens l'ont consulté

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

Résolution des exceptions de Webdriver : dépannage de NoSuchDriverException

Lorsque vous essayez de créer un objet à l'aide de Selenium Webdriver, vous pouvez rencontrer l'erreur suivante :

selenium.common.exceptions.NoSuchDriverException: Message: Unable to obtain <path-to-chromedriver> using Selenium Manager; 'str' object has no attribute 'capabilities';
Copier après la connexion

Erreur Analyse

Ce message d'erreur indique que Selenium Manager n'est pas en mesure de localiser le chemin correct vers le pilote du navigateur, dans ce cas, le pilote chrome. En conséquence, l'opération Selenium ne parvient pas à initialiser le navigateur, ce qui déclenche l'exception NoSuchDriverException.

Cause première

La cause première de cette erreur est souvent liée à un Selenium incorrect. version ou un Selenium obsolète Manager.

Solution

Pour résoudre ce problème, suivez ces étapes :

1. Vérifiez la version de Selenium

Assurez-vous que vous utilisez Selenium v4.6.0 ou supérieur. Dans la version 4.6.0, Selenium a introduit Selenium Manager, qui gère automatiquement la gestion des pilotes au lieu de s'appuyer sur la configuration traditionnelle des chemins.

2. Mettre à jour Selenium Manager

Si vous utilisez Selenium v4.6.0 ou supérieur, essayez de mettre à jour Selenium Manager vers la dernière version. Cela peut être fait à l'aide de la commande suivante :

pip install -U selenium-webdriver
Copier après la connexion

3. Code simplifié

Une fois le Selenium Manager mis à jour, vous pouvez simplifier votre code comme suit :

from selenium import webdriver

driver = webdriver.Chrome()
driver.get("https://www.google.com/")
driver.quit()
Copier après la connexion

Références

Pour plus d'informations informations et documentation sur la gestion des pilotes avec Selenium, reportez-vous aux ressources suivantes :

  • [Objectif de Webdriver Manager](https://www.selenium.dev/selenium/docs/api/dotnet/Selenium.WebDriver.DriverService/Constructor)
  • [Présentation de Selenium Manager](https://www.selenium. dev/introduction-selenium-manager/)

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal