web-dev-qa-db-ja.com

Selenium WebDriver、Javaを使用してテキストでWeb要素を選択する方法

ウェブページで次の要素を見つける必要があります

_<div class="b-datalist__item__addr">[email protected]</div>
_

私はJava for Selenium WebDriverでコーディングしています。
この要素をdriver.findElement(By.cssSelector(the-selector).clickコマンドで使用するには、正確なCSSセレクタが必要です。
_div[class='b-datalist__item__addr']_セレクタは十分ではありません。リンクではない_[email protected]_テキストに従って検索する必要があるため、findElement(By.linkText())コマンドを使用できません。

10
Eliyahu

Cssでは、テキストベースの検索はできません。 xpathが唯一のオプションです。

//div[contains(text(),'[email protected]')]
15
Saifur

contains(node, substring) は問題を解決する可能性がありますが、似たようなテキストコンテンツの要素が複数ある場合は注意してください。

述語[contains(text(),'[email protected]')]はそれらすべてに一致します

この場合、 starts-with(node, substring) を使用することをお勧めします。

//div[starts-with(text(),'[email protected]')]

または、正確なテキストコンテンツによって必要な要素をフェッチします。

//div[text()='[email protected]']
2
Andersson