Heim > Artikel > Backend-Entwicklung > Warum gibt meine Selenium-Methode getText() einen Fehler aus, wenn sie einen Klassennamen-Locator verwendet?
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!