0
私はクリック可能と識別していますWebElement
によってCssSelector
。私が使用していますサンプルコードは次のとおりです。セレン:CssSelectorでWebElementのステータスを確認
String selectorString = "a.some-text.item";
WebElement we = driver.findElement(By.cssSelector(selectorString));
we.click();
問題は項目の後にa.some-text.item.clicked
にそのCssSelector
変更をクリックされたこと、です。私はまだ上記のselectorString
変数を使って確実に識別することができます。しかし、前にクリックされていない場合にのみクリックします。
アイテムのステータス(cssSelector
の名前がa.some-text.item
またはa.some-text.item.clicked
のいずれであるか)を確認するにはどうすればよいですか?
これは私にタイムアウトを与えます。ウェブサイト上で 'a.some-text.item.clicked'に変更された後でも、' a.some-text.item'で要素を見つけることができます。要素がマッチした後、私はそれを '.clicked'拡張とマッチさせたのか、マッチしなかったのかを判断したいと思います。理想的には、タイムアウトを待つ必要はありません。 – nautical
@nautical実際には、要素がクリックされたかどうかを判断したいと思うかどうかはわかりませんが、私の理解で私の答えを理解して編集しようとしています。ありがとう.. :) –
@nauticalまた、タイムアウト例外を避けるために、未クローズの要素のみを取得したい場合は、 ':not(selector)'関数を使って前の応答のcssSelectorで 'findElements'を使うことができます。クリックされていない要素が見つかった場合は、要素がクリックされました。 –