Heim  >  Artikel  >  Backend-Entwicklung  >  Warum sind find_element_by_*-Befehle in Selenium-Python-Bibliotheken veraltet?

Warum sind find_element_by_*-Befehle in Selenium-Python-Bibliotheken veraltet?

Barbara Streisand
Barbara StreisandOriginal
2024-11-10 11:32:02763Durchsuche

Why are find_element_by_* commands deprecated in Selenium Python libraries?

Veraltung der find_element_by_*-Befehle in Selenium

Frühere Versionen der Selenium-Python-Bibliotheken unterstützten die Verwendung von find_element_by_*-Befehlen. In neueren Versionen sind diese Befehle jedoch veraltet.

Fehlermeldung:

Bei der Verwendung von find_element_by_*-Befehlen in den neuesten Selenium-Python-Bibliotheken kann Folgendes auftreten Fehlermeldung:

DeprecationWarning: find_element_by_* commands are deprecated. Please use find_element() instead

Grund für Abwertung:

Die Entscheidung, find_element_by_*-Befehle abzulehnen, resultierte aus dem Ziel, Selenium-APIs in verschiedenen Sprachen zu vereinfachen.

Lösung:

Um dieses Problem zu beheben, sollten Sie zur Verwendung der Methode find_element() anstelle von find_element_by_* wechseln. Befehle.

# 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")

Zusätzliche Hinweise:

Ebenso müssen Sie andere find_element_by_*-Befehle wie folgt aktualisieren:

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, ...)

Hinweis:Sie sollten auch die Pluralversionen aktualisieren (find_elements_by_*) entsprechend.

Weitere Informationen zu dieser und anderen Änderungen beim Upgrade auf Selenium 4 finden Sie im Selenium-Upgrade-Leitfaden.

Das obige ist der detaillierte Inhalt vonWarum sind find_element_by_*-Befehle in Selenium-Python-Bibliotheken veraltet?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn