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!