Selenium WebDriver で特定のテキストを含む要素を検索する
テキストの内容に基づいて要素を識別することは、Web テストの一般的なタスクです。 Selenium WebDriver (Python) では、この目的のためにさまざまなメソッドを使用できます。
1 つの方法は、contains() 関数で find_elements_by_xpath メソッドを使用することです。
<code class="python">driver.find_elements_by_xpath('//div[contains(text(), "' + text + '")]')</code>
このメソッドは、指定されたテキストを含む要素を検索しますが、大文字と小文字は区別されます。
または、より一般的な XPath 式を使用することもできます。
<code class="python">driver.find_elements_by_xpath("//*[contains(text(), 'My Button')]")</code>
この式は、次の要素を含む要素をドキュメント全体で検索します。大文字と小文字は関係なく、指定されたテキストです。
もう 1 つの方法は、ページ上のすべての要素を反復処理して、その element.text プロパティを確認することです。ただし、これは時間がかかり、常に正確な結果が得られるとは限りません。
親要素にターゲット テキストも含まれるネストされた要素が見つかった場合は、element.get_element_by_xpath('..') メソッドを使用して、親要素が子要素の直接の親であるかどうかを確認します。
最後に、XPath 式と要素の反復メソッドはパフォーマンスを最適化できることに注目してください。たとえば、XPath 式で特定の属性を使用したり、XPath の代わりに CSS セレクターを使用したりすると、実行時間が短縮される可能性があります。
以上がSelenium WebDriver で特定のテキストを含む要素を見つける方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。