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>
同様に、次の 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 中国語 Web サイトの他の関連記事を参照してください。