Heim  >  Artikel  >  Backend-Entwicklung  >  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
Mary-Kate OlsenOriginal
2024-11-01 06:35:30108Durchsuche

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>

Python Code:

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

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>

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!

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