Sélectionnez le bouton radio et cochezBox in Selenium
⚡ Résumé intelligent
Sélectionnez le bouton radio et cochezBox in Selenium Ce tutoriel aborde les techniques WebDriver permettant d'automatiser deux des contrôles de formulaire les plus courants. Il explique comment les méthodes `click()` et `isSelected()` permettent de basculer entre les boutons radio et les cases à cocher, et détaille leur fonctionnement. Java Il explique le code et partage des conseils de dépannage pour les localisateurs fragiles.

Bouton radio activé Selenium
Les boutons radio sont activés à l'aide de click() méthode, tout comme n'importe quel autre WebElement dans Selenium. Étant donné qu'une seule option d'un groupe de boutons radio peut être active à la fois, cliquer sur une deuxième option désélectionne automatiquement la première.
L'utilisation de https://demo.guru99.com/test/radio.html À titre d'exercice, veuillez noter que radio1.click() sélectionne le bouton radio « Option 1 ». Appel radio2.click() puis sélectionne « Option 2 » tout en laissant « Option 1 » non sélectionnée.
Comment sélectionner une case à cocher dans Selenium
TogglCocher ou décocher une case se fait également à l'aide de click() Méthode. Le code ci-dessous clique deux fois sur la case à cocher « Rester connecté » de Facebook et affiche TRUE lorsque la case est cochée et FALSE lorsqu'elle est décochée.
Le isSelected() Cette méthode permet de vérifier si une case à cocher est activée ou désactivée — une assertion essentielle lors de la validation de l'état d'un formulaire dans les cas de test.
Voici une autre page d'exemple : https://demo.guru99.com/test/radio.html.
Code Exemple
Voici le code complet et fonctionnel qui active/désactive les deux boutons radio et la case à cocher de connexion persistante 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();
}
}
Dépannage
Si vous rencontrez NoSuchElementException Lors de la recherche d'éléments, cela signifie que l'élément était absent au moment où WebDriver a accédé à la page. Utilisez la liste de vérification ci-dessous pour résoudre rapidement le problème :
- Vérifiez à nouveau votre localisateur à l'aide de FirePath ou de l'outil Inspecter l'élément dans Chrome.
- Vérifiez que la valeur utilisée dans le code correspond à la valeur actuelle de l'élément sur la page.
- Certains éléments possèdent des attributs dynamiques, similaires à ceux que vous pouvez observer lorsque vous sélectionnez une liste déroulante dans Selenium pilote webDans ces cas-là, préférez
By.xpath()orBy.cssSelector(), qui sont plus fiables mais légèrement plus complexes. - Parfois, le problème est lié au timing : le WebDriver a exécuté votre code avant que la page ait fini de se charger.
- Ajouter une attente avant
findElement()utiliser des attentes implicites ou explicites pour donner à l'élément le temps de s'afficher.




