Selenium WebDriver で特定のテキストを含む要素を見つける (Python)
Selenium WebDriver では、テキストの内容に基づいて要素を識別するのは困難なタスクになる場合があります。特定のテキストを含む要素を検索する手順は次のとおりです。
contains(text(), "text") XPath を使用する
最も直接的なアプローチは、次のとおりです。 XPath 式内の contains() 関数。この関数を使用すると、テキストの内容が指定された文字列と部分的に一致する要素を検索できます。ただし、デフォルトの動作では大文字と小文字が区別されます。
大文字と小文字の区別がないことに対処するには、XPath 式に //* プレフィックスを追加します。
<code class="python">driver.find_elements_by_xpath("//*[contains(text(), 'My Button')]")</code>
この式は、テキスト「My Button」 (大文字と小文字は区別されません) をテキスト コンテンツ内の任意の場所に追加できます。
要素の反復とチェック。text
別のオプションは、ページを開き、element.text プロパティを調べます。ただし、この方法は計算コストが高く、特に大きな Web ページの場合は遅くなる可能性があります。
ネストされた要素の識別
重複するテキスト コンテンツを持つネストされた要素の選択を避けるには、次のようにします。要素が同じテキストを含む別の要素の子であるかどうかを判断する必要があります。これは、is_displayed() メソッドと find_element_by_xpath() メソッドを使用することで実現できます。
<code class="python">outer_element = driver.find_element_by_css_selector("div.outer") if outer_element.is_displayed(): inner_element = outer_element.find_element_by_xpath("./div[text()='My Button']")</code>
このコードは、外側の要素が表示されているかどうかを確認し、XPath 式を使用してその直下の内側の要素を検索します。特定のテキスト。
以上がSelenium WebDriver (Python) を使用して特定のテキストを含む要素を見つける方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。