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")
Andere veraltete Befehle
Zusätzlich zu den find_element_by_*-Befehlen sind auch die folgenden Befehle veraltet:
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!