Heim  >  Artikel  >  Backend-Entwicklung  >  Warum sind „find_element_by_*'-Befehle in Selenium veraltet?

Warum sind „find_element_by_*'-Befehle in Selenium veraltet?

Patricia Arquette
Patricia ArquetteOriginal
2024-11-10 11:11:02284Durchsuche

Why are `find_element_by_*` Commands Deprecated in Selenium?

find_element_by_*-Befehle sind in Selenium veraltet

In diesem Artikel gehen wir der Frage nach, warum bei der Verwendung die DeprecationWarning „find_element_by_*-Befehle sind veraltet“ auftritt Selenium Python-Bibliotheken.

Die Abwertung Warnung

Die Fehlermeldung impliziert, dass die Befehle „find_element_by_*“ nicht mehr empfohlen werden und zugunsten der allgemeineren Methode „find_element()“ abgeschafft werden sollten. Diese Änderung wurde eingeführt, um die APIs in verschiedenen Sprachen zu vereinfachen.

Lösung

Um das Problem zu beheben, müssen Sie alle Vorkommen von find_element_by_*-Befehlen durch find_element( ). Darüber hinaus müssen Sie den folgenden Import einschließen:

from selenium.webdriver.common.by import By

Hier finden Sie Beispiele für das Ersetzen der veralteten Methoden:

Verwendung des Klassennamens:

# Deprecated
button = driver.find_element_by_class_name("quiz_button")

# New
button = driver.find_element(By.CLASS_NAME, "quiz_button")

In ähnlicher Weise können Sie die folgenden veralteten ersetzen Methoden:

  • id: By.ID
  • name: By.NAME
  • link_text: By.LINK_TEXT
  • partial_link_text: By.PARTIAL_LINK_TEXT
  • tag_name: By.TAG_NAME
  • css_selector : By.CSS_SELECTOR
  • xpath: By.XPATH

Hinweis: Sie müssen auch die Pluralformen dieser Methoden aktualisieren ( find_elements_by_*) auf die gleiche Weise.

Zusätzlich Ressourcen

  • [Upgrade auf Selenium 4](https://www.sqa.stackexchange.com/questions/60275/selenium-navigate-vs-driver-get-in-selenium -4): Dieser Upgrade-Leitfaden behandelt andere unabhängige Änderungen, die Ihnen möglicherweise begegnen.

Das obige ist der detaillierte Inhalt vonWarum sind „find_element_by_*'-Befehle in Selenium 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