Wie finde ich Elemente mit bestimmtem Text mit Selenium WebDriver (Python)?

Patricia Arquette
Freigeben: 2024-10-28 14:45:30
Original
628 Leute haben es durchsucht

How to Locate Elements with Specific Text Using Selenium WebDriver (Python)?

Elemente mit spezifischem Text in Selenium WebDriver (Python) finden

Elemente anhand ihres Textinhalts zu identifizieren, kann in Selenium WebDriver eine herausfordernde Aufgabe sein . Hier sind die Schritte, um ein Element zu finden, das einen bestimmten Text enthält:

Verwenden von contains(text(), "text") XPath

Der direkteste Ansatz ist die Verwendung die Funktion enthält() innerhalb eines XPath-Ausdrucks. Mit dieser Funktion können Sie Elemente finden, deren Textinhalt teilweise mit der angegebenen Zeichenfolge übereinstimmt. Beim Standardverhalten wird jedoch die Groß-/Kleinschreibung beachtet.

Um die Groß-/Kleinschreibung nicht zu berücksichtigen, fügen Sie dem XPath-Ausdruck das Präfix //* hinzu:

<code class="python">driver.find_elements_by_xpath("//*[contains(text(), 'My Button')]")</code>
Nach dem Login kopieren

Dieser Ausdruck findet jedes Element, das das enthält Text „Mein Button“ (ohne Berücksichtigung der Groß-/Kleinschreibung) an einer beliebigen Stelle im Textinhalt.

Element.text iterieren und überprüfen

Eine andere Möglichkeit besteht darin, über alle Elemente auf dem zu iterieren Seite und überprüfen Sie die Eigenschaft element.text. Diese Methode ist jedoch rechenintensiv und kann insbesondere bei großen Webseiten langsam sein.

Identifizieren verschachtelter Elemente

Um die Auswahl verschachtelter Elemente mit überlappendem Textinhalt zu vermeiden, müssen Sie Sie müssen feststellen, ob ein Element ein untergeordnetes Element eines anderen Elements ist, das denselben Text enthält. Dies kann durch die Verwendung der Methoden is_displayed() und find_element_by_xpath() erreicht werden:

<code class="python">outer_element = driver.find_element_by_css_selector("div.outer")
if outer_element.is_displayed():
    inner_element = outer_element.find_element_by_xpath("./div[text()='My Button']")</code>
Nach dem Login kopieren

Dieser Code prüft, ob das äußere Element sichtbar ist und verwendet dann einen XPath-Ausdruck, um das innere Element direkt darunter mit zu finden spezifischer Text.

Das obige ist der detaillierte Inhalt vonWie finde ich Elemente mit bestimmtem Text mit Selenium WebDriver (Python)?. 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
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!