Dépréciation des commandes find_element_by_* dans Selenium
Les versions antérieures des bibliothèques Selenium Python prenaient en charge l'utilisation des commandes find_element_by_*. Cependant, dans les versions récentes, ces commandes sont obsolètes.
Message d'erreur :
Lors de l'utilisation des commandes find_element_by_* dans les dernières bibliothèques Selenium Python, vous pouvez rencontrer ce qui suit message d'erreur :
DeprecationWarning: find_element_by_* commands are deprecated. Please use find_element() instead
Raison de Dépréciation :
La décision de déprécier les commandes find_element_by_* découle de l'objectif de simplifier les API Selenium dans différents langages.
Solution :
Pour résoudre ce problème, vous devez utiliser la méthode find_element() au lieu de find_element_by_* commandes.
# Previous code button = driver.find_element_by_class_name("quiz_button") # Updated code from selenium.webdriver.common.by import By button = driver.find_element(By.CLASS_NAME, "quiz_button")
Remarques supplémentaires :
De même, vous devrez mettre à jour les autres commandes find_element_by_* comme suit :
Old Command | New Command |
---|---|
find_element_by_id() | find_element(By.ID, ...) |
find_element_by_name() | find_element(By.NAME, ...) |
find_element_by_link_text() | find_element(By.LINK_TEXT, ...) |
find_element_by_partial_link_text() | find_element(By.PARTIAL_LINK_TEXT, ...) |
find_element_by_tag_name() | find_element(By.TAG_NAME, ...) |
find_element_by_css_selector() | find_element(By.CSS_SELECTOR, ...) |
find_element_by_xpath() | find_element(By.XPATH, ...) |
Remarque : Vous devez également mettre à jour les versions plurielles (find_elements_by_*) en conséquence.
Référez-vous au guide de mise à niveau de Selenium pour plus d'informations sur ce changement et d'autres lors de la mise à niveau vers Selenium 4.
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!