Selenium WebDriver で特定のテキストを含む要素を識別する (Python)
Selenium WebDriver で特定のテキスト コンテンツを含む要素を見つけると、特に次のような場合に問題が発生する可能性があります。 JavaScript インターフェースを扱います。一般的なアプローチの 1 つは XPath 式の利用ですが、大文字と小文字の区別に制限がある場合があります。
これを克服するには、変更された XPath 式を使用できます。
<code class="python">driver.find_elements_by_xpath("//*[contains(text(), 'My Button')]")</code>
この式は、次の範囲内のすべての要素を検索します。大文字と小文字は関係なく、「My Button」というテキストを含むドキュメント。
次のような要素が他の要素内にネストされている状況では、
<code class="html"><div class="outer"><div class="inner">My Button</div></div></code>
ターゲットがelement は、目的のテキストを含む最も内側の要素です。これを行うには、同じテキストを含む他の要素の親である要素を除外できます:
<code class="python">elements = driver.find_elements_by_xpath("//*[contains(text(), 'My Button')]") for element in elements: if element.find_element_by_xpath('.//*[contains(text(), 'My Button')]'): continue else: # Perform actions on the current element</code>
以上がPython を使用して Selenium WebDriver で特定のテキストを含む要素を検索する方法 (大文字と小文字は区別されません)?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。