1. ホーム
  2. java

[解決済み] Selenium for Javaでチェックボックスが選択されているかどうかを判断するにはどうしたらいいですか?

2023-06-01 01:23:21

質問

私は セレン を使っています。以下はそのコードです。

private boolean isChecked;
private WebElement e;

私は e と宣言して、チェックボックスのある領域に割り当てています。

isChecked = e.findElement(By.tagName("input")).getAttribute("checked").equals("true");

何が変かというと getAttribute("checked") が返す null を返すので NullPointerException

チェックボックスのHTMLには checked 属性は表示されていません。しかし、すべての input 要素には checked = "true" を持つので、このコードは動作するはずですよね?

どのように解決するには?

Webdriverを使用している場合、探している項目はSelectedです。

チェックボックスのレンダリングでは、指定されない限り、実際にはchecked属性が適用されないことがよくあります。

そこで、Selenium Webdriverで探すのは次のようなものです。

isChecked = e.findElement(By.tagName("input")).Selected;

WebDriverのJava APIにはSelectedがないため、上記のコードは以下のようになります。

isChecked = e.findElement(By.tagName("input")).isSelected();