ラジオボタンを選択してチェックBox in Selenium
⚡ スマートサマリー
ラジオボタンを選択してチェックBox in Selenium このチュートリアルでは、最も一般的なフォームコントロール 2 つを自動化するための WebDriver テクニックについて説明します。このチュートリアルでは、click() メソッドと isSelected() メソッドがラジオボタンとチェックボックスを切り替える方法、動作の手順を説明します。 Java コードについて解説し、不安定なロケーターに関するトラブルシューティングのヒントも共有します。

ラジオボタンイン Selenium
ラジオボタンは、 click() メソッドは、他の WebElement と同様です。 Seleniumラジオボタンのグループでは一度に1つのオプションしか選択できないため、2つ目のオプションをクリックすると、最初のオプションは自動的に選択解除されます。
使い方 https://demo.guru99.com/test/radio.html 練習ページとして、次の点に注意してください。 radio1.click() 「オプション1」ラジオボタンを選択します。 radio2.click() そして「オプション2」を選択し、「オプション1」は選択しないままにする。
チェックボックスを選択する方法 Selenium
Togglチェックボックスのオン/オフは、 click() メソッド。以下のコードは、Facebookの「ログイン状態を維持する」チェックボックスを2回クリックし、チェックボックスがオンになったときにTRUEを、オフになったときにFALSEを出力します。
その isSelected() このメソッドは、チェックボックスがオンになっているかオフになっているかを確認するために使用されます。これは、テストケースでフォームの状態を検証する際の重要なアサーションです。
こちらも別のサンプルページです。 https://demo.guru99.com/test/radio.html.
完全 Code 例:
以下は、ラジオボタンとFacebookのログイン状態を維持するチェックボックスの両方を切り替える、完全な動作コードです。
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 and 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 Button 1 is selected
radio1.click();
System.out.println("Radio Button Option 1 Selected");
// Radio Button 1 is de-selected and Radio Button 2 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 checkbox
option1.click();
// Check whether the checkbox is toggled on
if (option1.isSelected()) {
System.out.println("Checkbox is Toggled On");
} else {
System.out.println("Checkbox is Toggled Off");
}
// Selecting a Checkbox and using the 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 要素が見つからない場合、WebDriverがページにアクセスした時点でその要素が存在していなかったことを意味します。以下のチェックリストを使用して、迅速に復旧してください。
- FirePathを使用するか、Chromeの要素検証機能を使用して、ロケーターを再度確認してください。
- コードで使用した値が、ページ上の要素の現在の値と一致していることを確認してください。
- 一部の要素には動的な属性があり、 ドロップダウンを選択してください Selenium webdriver.そのような場合は、
By.xpath()orBy.cssSelector()これらはより信頼性が高いが、やや複雑である。 - 問題はタイミングにある場合もあります。WebDriverがページの読み込みが完了する前にコードを実行してしまったことが原因です。
- 待機時間を追加する
findElement()暗黙的または明示的な待機を使用して、要素がレンダリングされる時間を与えます。




