ラジオボタンを選択してチェックBox in Selenium
ラジオボタンイン Selenium
ラジオ ボタンも click() メソッドを使用してオンに切り替えることができます。
使い方 https://demo.guru99.com/test/radio.html 練習として、radio1.click() が「Option1」ラジオ ボタンをオンに切り替えていることを確認します。radio2.click() は「Option2」ラジオ ボタンをオンに切り替えますが、「Option1」は選択されていません。
チェックボックスを選択する方法 Selenium
Togglチェックボックスのオン/オフも、 クリック() 方法。
以下のコードは、Facebook の「ログイン状態を維持する」チェックボックスを 2 回クリックし、オンになっている場合は結果を TRUE として出力し、オフになっている場合は FALSE として出力します。
isSelected() メソッドは、チェックボックスがオンかオフかを確認するために使用されます。
次に別の例を示します。 https://demo.guru99.com/test/radio.html
完全なコード
完全に動作するコードは次のとおりです
import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; import org.openqa.selenium.*; public class Form { public static void main(String[] args) { // declaration and instantiation of objects/variables System.setProperty("webdriver.chrome.driver","G:\\chromedriver.exe"); WebDriver driver = new ChromeDriver(); driver.get("https://demo.guru99.com/test/radio.html"); WebElement radio1 = driver.findElement(By.id("vfb-7-1")); WebElement radio2 = driver.findElement(By.id("vfb-7-2")); //Radio Button1 is selected radio1.click(); System.out.println("Radio Button Option 1 Selected"); //Radio Button1 is de-selected and Radio Button2 is selected radio2.click(); System.out.println("Radio Button Option 2 Selected"); // Selecting CheckBox WebElement option1 = driver.findElement(By.id("vfb-6-0")); // This will Toggle the Check box option1.click(); // Check whether the Check box is toggled on if (option1.isSelected()) { System.out.println("Checkbox is Toggled On"); } else { System.out.println("Checkbox is Toggled Off"); } //Selecting Checkbox and using isSelected Method driver.get("https://demo.guru99.com/test/facebook.html"); WebElement chkFBPersist = driver.findElement(By.id("persist_box")); for (int i=0; i<2; i++) { chkFBPersist.click (); System.out.println("Facebook Persists Checkbox Status is - "+chkFBPersist.isSelected()); } //driver.close(); } }
トラブルシューティング
要素の検索中に NoSuchElementException() が発生した場合は、Web ドライバーがページにアクセスした時点でその要素がページ内に見つからなかったことを意味します。
- Chrome の Firepath または Inspect Element を使用してロケーターを再度確認します。
- コードで使用した値が Firepath の要素の値と異なるかどうかを確認してください。
- いくつかのプロパティは、いくつかの要素に対して動的です。値が異なり、動的に変化していることがわかった場合は、より信頼性が高く複雑な方法である By.xpath() または By.cssSelector() の使用を検討してください。
- 場合によっては、待機の問題である可能性もあります。つまり、ページが完全に読み込まれる前に Web ドライバーがコードを実行した場合などです。
- 暗黙的または明示的な待機を使用して、findElement() の前に待機を追加します。
製品概要
- 以下の表は、上で説明した各タイプの要素にアクセスするためのコマンドをまとめたものです。
素子 | Command | 詳細説明 |
---|---|---|
チェック Box, ラジオボタン | クリック() | 要素のオン/オフを切り替えるために使用します |