Heim > Backend-Entwicklung > Python-Tutorial > Warum gibt meine Selenium-Methode getText() einen Fehler aus, wenn sie einen Klassennamen-Locator verwendet?

Warum gibt meine Selenium-Methode getText() einen Fehler aus, wenn sie einen Klassennamen-Locator verwendet?

Mary-Kate Olsen
Freigeben: 2024-11-01 06:35:30
Original
253 Leute haben es durchsucht

Why is my Selenium getText() method throwing an error when using a class name locator?

Fehlerbehebung: Extrahieren von Text mit Selenium WebDriver in Python

Problem:

Beim Versuch, Text aus einem Webelement abzurufen Wenn Sie die getText()-Methode von Selenium WebDriver verwenden, erhalten Sie eine Fehlermeldung, wenn Sie einen Klassennamen-Locator verwenden. Der Fehler ist auf eine dynamische ID zurückzuführen, die sich beim Neuladen der Webseite ändert und den By.CLASS_NAME-Locator unzuverlässig macht.

HTML-Snippet:

<code class="html"><span class="current-text" id="yui_3_7_0_4_1389185744113_384">my text</span></code>
Nach dem Login kopieren

Python Code:

<code class="python">text = driver.find_element_by_class_name("current-stage").getText("my text")</code>
Nach dem Login kopieren

Lösung:

Um dieses Problem zu beheben, vereinfachen Sie Ihren Code, indem Sie das überflüssige getText("my text")-Argument entfernen:

<code class="python">text = driver.find_element_by_class_name("current-stage").text</code>
Nach dem Login kopieren

Erklärung:

Die getText()-Methode gibt die zurück Textinhalt des angegebenen Webelements. In diesem Fall identifiziert der Klassennamen-Locator das richtige Element und das Textattribut ruft seinen Textinhalt ab. Der Versuch, den erwarteten Text als zweites Argument für getText() anzugeben, ist unnötig und kann zu Verwirrung führen.

Das obige ist der detaillierte Inhalt vonWarum gibt meine Selenium-Methode getText() einen Fehler aus, wenn sie einen Klassennamen-Locator verwendet?. 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