Heim > Artikel > Backend-Entwicklung > Wie finde ich Elemente mit teilweisen Textübereinstimmungen in Selenium WebDriver (Python)?
Elemente mit teilweisen Textübereinstimmungen in Selenium WebDriver (Python) finden
Problem:
Benutzer von Selenium WebDriver stoßen häufig auf Schwierigkeiten, wenn sie nach Elementen suchen, die einen bestimmten Text verwenden. Die Frage stellt sich, wenn es um Szenarien geht, in denen beim Text die Groß-/Kleinschreibung nicht beachtet werden kann oder eine teilweise Übereinstimmung mit dem Inhalt des Elements vorliegt.
Best Practices:
Um nach Elementen zu suchen Berücksichtigen Sie bei teilweisen Textübereinstimmungen die folgenden Vorgehensweisen:
<code class="python">driver.find_elements_by_xpath("//*[contains(text(), 'My Button')]")</code>
Dieser XPath-Ausdruck sucht überall nach Elementen in dem Dokument, in dem der Text die angegebene Zeichenfolge enthält.
<code class="python">driver.find_elements_by_css_selector("div:contains('My Button')")</code>
Ähnlich auch CSS-Selektoren mit Der Operator „enthält“ kann verwendet werden, um nach Elementen mit teilweisen Textübereinstimmungen innerhalb des angegebenen Selektors zu suchen.
Verschachtelungsprobleme überwinden:
Um zu vermeiden, dass übergeordnete Elemente gefunden werden, die enthalten Wenn Sie den gewünschten Text eingeben, ist es möglich, die Suche mithilfe von Eltern-Kind-Beziehungen zu filtern:
<code class="python">driver.find_elements_by_xpath("//div[contains(text(), 'My Button') and not(parent::div[contains(text(), 'My Button')])]")</code>
Dieser XPath-Ausdruck stellt sicher, dass nur Elemente gefunden werden, die den Kriterien entsprechen, während alle übergeordneten Elemente ausgeschlossen werden, die möglicherweise dieselben enthalten Text.
Überlegungen zur Leistung:
Bei der Suche nach Elementen mit teilweisen Textübereinstimmungen ist es wichtig, Auswirkungen auf die Leistung zu berücksichtigen, insbesondere wenn es um eine große Anzahl von Elementen geht die Seite. Die Verwendung von CSS-Selektoren oder XPath-Ausdrücken mit spezifischen und effizienten Parametern kann dazu beitragen, den Zeitaufwand für den Suchvorgang zu minimieren.
Das obige ist der detaillierte Inhalt vonWie finde ich Elemente mit teilweisen Textübereinstimmungen in Selenium WebDriver (Python)?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!