要素に対して「isSelected」を実行することで要素が選択状態にあるかどうかを判定することが出来ます。
「isSelected」は選択状態/非選択状態が存在する要素(チェックボックス、ラジオボタン、セレクトボックス)に対して有効です。
下記のサンプルでは、cheked属性により選択状態にある『はい』ラジオボタンと、非選択状態にある『いいえ』ラジオボタンの選択状態を判定しています。「isSelected」実行することで、選択状態にある『はい』ラジオボタンはTrueが返され、それ以外はFalseが返されます。
説明
◆メソッド ・boolean isSelected() ◆使用形態 ・element.isSelected() ◆備考 ・チェックボックスやラジオボタンなどに対して選択の有無を確認する為のメソッド ◆関連項目 ・要素が表示されているか判定する ・要素が有効になっているか判定する
サンプル
import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.chrome.ChromeDriver; public class WebTest{ public static void main(String[] args){ //Chrome制御のためChromeDriverのパスを指定 System.setProperty("webdriver.chrome.driver", "D:\\AutoTest\\chromedriver.exe"); //Chromeを起動する WebDriver driver = new ChromeDriver(); //指定したURLに遷移する<図1> driver.get("file://D:/AutoTest/isSelected.html"); //選択状態にある『はい』のラジオボタン要素を取得 WebElement elemYes = driver.findElement(By.id("ra01")); //選択状態にない『いいえ』のラジオボタン要素を取得 WebElement elemNo = driver.findElement(By.id("ra02")); //要素が選択されているかどうかを判定 System.out.println(elemYes.isSelected()); System.out.println(elemNo.isSelected()); } }
※selenium version 4.1.4で動作確認をしています
実行結果
true false
isSelected.html<図1>
<!DOCTYPE html> <html lang="ja"> <head> <title>isSelected</title> </head> <body> <p> Seleniumで自動テストを実施したいですか? </p> <p> <input type="radio" id="ra01" name="question" checked>はい<br> <input type="radio" id="ra02" name="question">いいえ<br> <input type="radio" id="ra03" name="question">どちらとも言えない </p> </body> </html>
動画デモ
※字幕をONにすると解説のテロップが表示されます※