Heim  >  Artikel  >  Backend-Entwicklung  >  Wie finde ich Elemente mit teilweisen Textübereinstimmungen in Selenium WebDriver (Python)?

Wie finde ich Elemente mit teilweisen Textübereinstimmungen in Selenium WebDriver (Python)?

Susan Sarandon
Susan SarandonOriginal
2024-10-30 05:03:28773Durchsuche

How to Locate Elements with Partial Text Matches 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:

  • XPath mit „enthält“:
<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.

  • CSS-Selektoren mit „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!

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