それは本当に簡単です。現在、ドキュメント全体で最初のもの を取得しています。 span
それがあなたが望むものであるかどうかをどうやって知るのですか?
会いましょう.findElements()。ロケーターを満たす最初の要素を取得する代わりに、基準を満たすすべての要素のリストを提供します。
あなたは HTML の多くを共有していないので、これが独自の要素かどうかはわかりません。
ただし、これには 2 つのアプローチがあります。
1) を使用.findElementsしてすべての要素を取得し、値がspan次の属性を持つ特定の要素に絞り込みます。data-automation-idSEL_ERR
または (推奨):
2) .findElement1) で説明した要素を具体的にターゲットとするセレクターで使用します... Selenium がそれを見つけられない場合、よりターゲットを絞ったセレクターを使用すると、それが存在しないことがわかります。
driver.findElement(By.cssSelector("span[data-automation-id='SEL-ERR']"));
また:
3) 2) の修正。Selenium がそれを見つけられない場合、例外がスローされます。例外はコストがかかります。代わりに (1) で述べた)を使用できます.findElements。これは、探している要素が見つからない場合に空のリストを返すだけです。
driver.findElements(By.cssSelector("span[data-automation-id='SEL-ERR']")).size() != 0;