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.
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.
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
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.
- Verifique seu localizador novamente usando Firepath ou Inspect Element no Chrome.
- Verifique se o valor que você usou no código é diferente daquele do elemento no Firepath agora.
- 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.
- À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.
- 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 |