在Selenium WebDriver (Python) 中定位部分文本匹配的元素
問題:
Selenium WebDriver 使用者在使用特定文字搜尋元素時經常遇到困難。當處理文字可能不區分大小寫或元素內容部分相符的場景時,就會出現問題。
最佳實踐:
基於元素搜尋對於部分文字匹配,請考慮以下做法:
<code class="python">driver.find_elements_by_xpath("//*[contains(text(), 'My Button')]")</code>
此XPath 表達式在任何位置搜尋元素在文字包含指定字串的文件中。
<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中文網其他相關文章!