Heim >Backend-Entwicklung >Python-Tutorial >Wie finde ich Elemente mit bestimmtem Text mit 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>
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>
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!