2016-12-17 3 views
1

要素がチェックされているかどうかを調べようとしています。Selenium JavaScript Executorは.checkedではnullを返しますが、.click()では機能しますか?

このコードは機能し、要素をクリックしますが、何も返しません。

js.executeScript("return arguments[0].click();", element); 

このコードは動作しません:

js.executeScript("return arguments[0].checked;", element); 

このコードは動作します:

js.executeScript("document.querySelectorAll('[name=abc]')[0].checked"); 

私は要素だけでは要素によって、チェックされているかどうかを判断できるようにする必要があります。

はい、element.isSelected()はセレンにありますが、この要件には該当しません。

ありがとうございます!

+1

興味深いことに、Javaの場合、2番目のアプローチが実際に動作するはずです。 – alecxe

+0

System.out.println(js.executeScript( "return arguments [0] .checked;"要素));これはあなたが正しいですヌル – Will

+1

を印刷します。 私は非常に多くのことをしようと4時間を無駄にしました。笑。 私は間違った要素パスを持っています。入力自体はチェックボックスではありません。 smh。 – Will

答えて

0

これは正しいです。

js.executeScript("return arguments[0].checked;", element); 

私は最初の要素として間違ったノードを使用していました。

関連する問題