首頁  >  文章  >  後端開發  >  如何在 Selenium WebDriver (Python) 中定位部分文字相符的元素?

如何在 Selenium WebDriver (Python) 中定位部分文字相符的元素?

Susan Sarandon
Susan Sarandon原創
2024-10-30 05:03:28773瀏覽

How to Locate Elements with Partial Text Matches in Selenium WebDriver (Python)?

在Selenium WebDriver (Python) 中定位部分文本匹配的元素

問題:

Selenium WebDriver 使用者在使用特定文字搜尋元素時經常遇到困難。當處理文字可能不區分大小寫或元素內容部分相符的場景時,就會出現問題。

最佳實踐:

基於元素搜尋對於部分文字匹配,請考慮以下做法:

  • XPath with ' contains':
<code class="python">driver.find_elements_by_xpath("//*[contains(text(), 'My Button')]")</code>

此XPath 表達式在任何位置搜尋元素在文字包含指定字串的文件中。

  • 帶有'contains' 的CSS 選擇器:
<code class="python">driver.find_elements_by_css_selector("div:contains('My Button')")</code>

同樣,帶有'contains' 的CSS 選擇器「contains ”運算符可用於搜尋指定選擇器內部分文字相符的元素。

克服嵌套問題:

避免尋找包含以下內容的父元素所需的文本,可以使用父子關係過濾搜尋:

<code class="python">driver.find_elements_by_xpath("//div[contains(text(), 'My Button') and not(parent::div[contains(text(), 'My Button')])]")</code>

此XPath 表達式確保僅找到與條件匹配的元素,同時排除可能包含相同條件的任何父元素text.

效能注意事項:

搜尋部分文字匹配的元素時,考慮效能影響非常重要,尤其是在處理大量元素時頁面。使用具有特定且高效參數的 CSS 選擇器或 XPath 表達式可以幫助最大限度地減少搜尋操作所需的時間。

以上是如何在 Selenium WebDriver (Python) 中定位部分文字相符的元素?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn