Warum sind die „find_element_by_*'-Befehle von Selenium veraltet und wie wechselt man zur neuen Methode?

Linda Hamilton
Freigeben: 2024-11-13 08:09:02
Original
712 Leute haben es durchsucht

Why are Selenium's `find_element_by_*` commands deprecated, and how do you switch to the new method?

Veraltete find_element_by_*-Befehle in Selenium

In neueren Versionen von Selenium sind die find_element_by_*-Befehle veraltet. Dies bedeutet, dass diese Befehle nicht mehr verwendet werden sollten, da sie in zukünftigen Versionen möglicherweise entfernt werden.

Ursache der Veraltung

Diese Verwerfung ist Teil der laufenden Bemühungen von Selenium, dies zu tun Vereinfachen Sie seine APIs in verschiedenen Sprachen. Durch das Entfernen der find_element_by_*-Befehle möchte Selenium eine konsistentere und intuitivere API bereitstellen.

Lösung

Anstatt die find_element_by_*-Befehle zu verwenden, sollten Sie find_element verwenden ()-Methode, die ein By-Objekt als erstes Argument akzeptiert. Das By-Objekt gibt die Locator-Strategie an, die bei der Suche nach einem Element verwendet werden soll.

Um die Methode find_element() zu verwenden, müssen Sie zunächst die By-Klasse aus dem Modul selenium.webdriver.common.by importieren. Sobald Sie die By-Klasse importiert haben, können Sie eine Instanz erstellen, indem Sie die Locator-Strategie und den Locator-Wert angeben.

Hier ist ein Beispiel dafür, wie der Befehl find_element_by_class_name() durch die Methode find_element() ersetzt wird:

from selenium.webdriver.common.by import By

button = driver.find_element(By.CLASS_NAME, "quiz_button")
Nach dem Login kopieren

Andere veraltete Befehle

Zusätzlich zu den find_element_by_*-Befehlen sind auch die folgenden Befehle veraltet:

  • find_elements_by_*
  • implicitly_wait()
  • open()
  • quit()

Diese Befehle sollten auch durch ihre entsprechenden, nicht veralteten Gegenstücke ersetzt werden. Die Selenium-Dokumentation enthält detaillierte Informationen zum Ersetzen dieser veralteten Befehle.

Fazit

Die veralteten Befehle find_element_by_ sind eine wesentliche Änderung in der Selenium-API . Es ist wichtig, sich dieser Änderung bewusst zu sein und die Methode find_element() anstelle der Befehle find_element_by_ zu verwenden. Auf diese Weise stellen Sie sicher, dass Ihr Code mit zukünftigen Versionen von Selenium kompatibel ist, und vermeiden potenzielle Probleme.

Das obige ist der detaillierte Inhalt vonWarum sind die „find_element_by_*'-Befehle von Selenium veraltet und wie wechselt man zur neuen Methode?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage