Cómo seleccionar CheckBox y el botón de radio en Selenium WebDriver

Tabla de contenido:

Anonim

En este tutorial, veremos cómo identificar los siguientes elementos del formulario

  • Boton de radio
  • Casilla de verificación

Boton de radio

Los botones de radio también se pueden activar mediante el método click ().

Usando http://demo.guru99.com/test/radio.html para practicar, vea que radio1.click () alterna el botón de opción "Option1". radio2.click () alterna en el botón de radio "Option2" dejando la "Option1" sin seleccionar.

Casilla de verificación

La activación / desactivación de una casilla de verificación también se realiza mediante el método clic () .

El siguiente código hará clic en la casilla de verificación "Mantenerme conectado" de Facebook dos veces y luego mostrará el resultado como VERDADERO cuando está activado, y FALSO si está desactivado.

El método isSelected () se usa para saber si la casilla de verificación está activada o desactivada.

Aquí hay otro ejemplo: http://demo.guru99.com/test/radio.html

Código completo

Aquí está el código de trabajo completo

import org.openqa.selenium.By;importar org.openqa.selenium.WebDriver;importar org.openqa.selenium.chrome.ChromeDriver;importar org.openqa.selenium. *;Formulario de clase pública {public static void main (String [] args) {// declaración e instanciación de objetos / variablesSystem.setProperty ("webdriver.chrome.driver", "G: \\ chromedriver.exe");Controlador WebDriver = nuevo ChromeDriver ();driver.get ("http://demo.guru99.com/test/radio.html");WebElement radio1 = driver.findElement (By.id ("vfb-7-1"));WebElement radio2 = driver.findElement (By.id ("vfb-7-2"));// Botón de radio1 está seleccionadoradio1.click ();System.out.println ("Opción de botón de opción 1 seleccionada");// Botón de opción1 está deseleccionado y Botón de opción2 está seleccionadoradio2.click ();System.out.println ("Opción de botón de opción 2 seleccionada");// Seleccionar CheckBoxWebElement option1 = driver.findElement (By.id ("vfb-6-0"));// Esto alternará la casilla de verificaciónoption1.click ();// Compruebe si la casilla de verificación está activadaif (option1.isSelected ()) {System.out.println ("La casilla de verificación está activada");} demás {System.out.println ("La casilla de verificación está desactivada");}// Seleccionando la casilla de verificación y usando el método isSelecteddriver.get ("http://demo.guru99.com/test/facebook.html");WebElement chkFBPersist = driver.findElement (By.id ("persist_box"));para (int i = 0; i <2; i ++) {chkFBPersist.click ();System.out.println ("El estado de la casilla de verificación de persistencia de Facebook es -" + chkFBPersist.isSelected ());}//driver.close ();}}

Solución de problemas

Si encuentra NoSuchElementException () mientras busca elementos, significa que el elemento no se encuentra en la página en el punto en que el controlador web accedió a la página.

  1. Verifique su localizador nuevamente usando Firepath o Inspect Element en Chrome.
  2. Verifique si el valor que usó en el código es diferente al del elemento en Firepath ahora.
  3. Algunas propiedades son dinámicas para pocos elementos. En caso de que encuentre que el valor es diferente y está cambiando dinámicamente, considere usar By.xpath () o By.cssSelector (), que son formas más confiables pero complejas.
  4. A veces, también podría ser un problema de espera, es decir, el controlador web ejecutó su código incluso antes de que la página se cargara por completo, etc.
  5. Agregue una espera antes de findElement () usando esperas implícitas o explícitas.

Resumen

  • La siguiente tabla resume los comandos para acceder a cada tipo de elemento discutido anteriormente.
Elemento Mando Descripción
Casilla de verificación, botón de radio hacer clic() utilizado para activar / desactivar el elemento