要素に対して「selected?」を実行することで要素が選択状態にあるかどうかを判定することが出来ます。
「selected?」は選択状態/非選択状態が存在する要素(チェックボックス、ラジオボタン、セレクトボックス)に対して有効です。
下記のサンプルでは、cheked属性により選択状態にある『はい』ラジオボタンと、非選択状態にある『いいえ』ラジオボタンの選択状態を判定しています。「selected?」実行することで、選択状態にある『はい』ラジオボタンはtrueが返され、それ以外はfalseが返されます。
説明
◆メソッド ・selected? ◆使用形態 ・element.selected? ◆備考 ・チェックボックスやラジオボタンなどに対して選択の有無を確認する為のメソッド ◆関連項目 ・要素が有効になっているか判定する ・要素が表示されているか判定する
サンプル
require 'selenium-webdriver' # Firefoxを起動 driver = Selenium::WebDriver.for(:firefox) #指定したURLに遷移する<図1> driver.get('file://D:/AutoTest/isSelected.html') #選択状態にある『はい』のラジオボタン要素を取得 elemYes = driver.find_element(:id, 'ra01') #選択状態にない『いいえ』のラジオボタン要素を取得 elemNo = driver.find_element(:id, 'ra02') #要素が選択されているかどうか判定 puts(elemYes.selected?) puts(elemNo.selected?)
※selenium version 4.1.0で動作確認をしています
実行結果
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にすると解説のテロップが表示されます※