Como selecionar o botão de opção e verificarBox in Selenium

Botão de rádio em Selenium

Os botões de opção também podem ser ativados usando o método click().

utilização https://demo.guru99.com/test/radio.html para praticar, veja que radio1.click() alterna no botão de opção “Opção1”. radio2.click() ativa o botão de opção “Opção2”, deixando a “Opção1” desmarcada.

Botão de opção ativado Selenium

Como selecionar caixa de seleção em Selenium

TogglA ativação/desativação de uma caixa de seleção também é feita usando o clique() método.

O código abaixo clicará duas vezes na caixa de seleção “Mantenha-me conectado” do Facebook e, em seguida, exibirá o resultado como TRUE quando estiver ativado e FALSE se estiver desativado.

Selecione a caixa de seleção em Selenium

Selecione a caixa de seleção em Selenium

O método isSelected() é usado para saber se a caixa de seleção está ativada ou desativada.

Aqui está outro exemplo: https://demo.guru99.com/test/radio.html

Selecione a caixa de seleção em Selenium

Código Completo

Aqui está o código de trabalho completo

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();		
        		
    }		
}

guia de solução de problemas

Se você encontrar NoSuchElementException() ao localizar elementos, significa que o elemento não foi encontrado na página no momento em que o driver da Web acessou a página.

  1. Verifique seu localizador novamente usando Firepath ou Inspect Element no Chrome.
  2. Verifique se o valor que você usou no código é diferente daquele do elemento no Firepath agora.
  3. Algumas propriedades são dinâmicas para poucos elementos. Caso você descubra que o valor é diferente e está mudando dinamicamente, considere usar By.xpath() ou By.cssSelector() que são formas mais confiáveis, mas complexas.
  4. Às vezes, também pode ser um problema de espera, ou seja, o driver da Web executou seu código antes mesmo de a página carregar completamente, etc.
  5. Adicione uma espera antes de findElement() usando esperas implícitas ou explícitas.

Resumo

  • A tabela abaixo resume os comandos para acessar cada tipo de elemento discutido acima
Element Command Descrição
Verifique Box, Botao de radio clique() usado para ativar/desativar o elemento