Seleccione el botón de opción y marqueBox in Selenium
⚡ Resumen inteligente
Seleccione el botón de opción y marqueBox in Selenium Este tutorial cubre las técnicas de WebDriver para automatizar dos de los controles de formulario más comunes. Explica cómo los métodos click() e isSelected() alternan los botones de radio y las casillas de verificación, y muestra cómo funcionan. Java código, y comparte consejos para solucionar problemas con localizadores frágiles.

Botón de radio en Selenium
Los botones de radio se activan mediante el click() método, al igual que cualquier otro WebElement en SeleniumDado que solo una opción de un grupo de botones de radio puede estar activa a la vez, al hacer clic en una segunda opción se deselecciona automáticamente la primera.
El uso de https://demo.guru99.com/test/radio.html Como página de práctica, tenga en cuenta que radio1.click() selecciona el botón de opción “Opción1”. Llamando radio2.click() Luego selecciona la “Opción 2” y deja la “Opción 1” sin seleccionar.
Cómo seleccionar una casilla de verificación en Selenium
TogglLa activación o desactivación de una casilla de verificación también se realiza mediante el uso del click() método. El código a continuación hace clic dos veces en la casilla de verificación "Mantener sesión iniciada" de Facebook e imprime TRUE cuando la casilla está activada y FALSE cuando está desactivada.
El isSelected() Este método se utiliza para confirmar si una casilla de verificación está activada o desactivada, una comprobación clave al validar el estado de un formulario en los casos de prueba.
Aquí hay otra página de ejemplo: https://demo.guru99.com/test/radio.html.
Paquete COMPLETE Code Ejemplo
Aquí está el código completo y funcional que activa y desactiva tanto los botones de opción como la casilla de verificación de inicio de sesión persistente de 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();
}
}
Localización de averías
Si te encuentras NoSuchElementException Si no se encuentran elementos, significa que el elemento no estaba presente en el momento en que WebDriver accedió a la página. Utilice la siguiente lista de verificación para recuperarse rápidamente:
- Vuelva a comprobar su localizador utilizando FirePath o la herramienta Inspeccionar elemento en Chrome.
- Confirma que el valor que usaste en el código coincide con el valor actual del elemento en la página.
- Algunos elementos tienen atributos dinámicos, similares a los que puede ver cuando seleccione un menú desplegable en Selenium Controlador webEn esos casos, prefiero
By.xpath()orBy.cssSelector(), que son más fiables pero ligeramente más complejos. - A veces el problema radica en la sincronización: el WebDriver ejecutó tu código antes de que la página terminara de cargarse.
- Agregue una espera antes
findElement()utilizando esperas implícitas o explícitas para darle tiempo al elemento a renderizarse.




