Dépréciation de executable_path dans Selenium pour Python
Dans Selenium 4.0, l'argument mot-clé executable_path a été obsolète et remplacé par l'objet Service. Cet article explique la justification de ce changement et propose une solution pour corriger le DeprecationWarning rencontré dans le code Python.
Contexte
Selenium 4.0 introduit des changements importants dans son API avec le objectif d’améliorer la stabilité et la flexibilité. L'un de ces changements est la dépréciation de l'argument executable_path au profit de l'objet Service. Ceci est conforme à la pratique d'autres pilotes de navigateur, tels que webdriver pour Gecko et webdriverio pour les pilotes mobiles.
Solution
Pour résoudre le DeprecationWarning, vous devez mettre à jour votre code pour utiliser l'objet Service comme suit :
from selenium.webdriver.chrome.service import Service from webdriver_manager.chrome import ChromeDriverManager driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()))
Ce code initialise un nouvel objet Service avec le chemin d'accès à Chrome Webdriver, qui est automatiquement téléchargé et installé par webdriver_manager. Il utilise ensuite cet objet Service pour instancier le pilote webdriver.Chrome.
Considérations supplémentaires
Si vous devez transmettre des options au pilote, vous pouvez utiliser les options classe également :
from selenium.webdriver.chrome.options import Options options = Options() options.add_experimental_option("excludeSwitches", ["enable-automation"]) driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()), options=options)
Conclusion
Le la dépréciation de executable_path dans Selenium 4.0 est un changement nécessaire pour améliorer la stabilité et la compatibilité de l'API. En suivant la solution décrite dans cet article, vous pouvez facilement mettre à jour votre code et continuer à utiliser Selenium pour Python de manière transparente.
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!