Selecione o botão de opção e marqueBox in Selenium
⚡ Resumo Inteligente
Selecione o botão de opção e marqueBox in Selenium Este tutorial aborda as técnicas do WebDriver para automatizar dois dos controles de formulário mais comuns. Ele explica como os métodos `click()` e `isSelected()` alternam entre botões de opção e caixas de seleção, e demonstra o seu funcionamento. Java código e compartilha dicas de solução de problemas para localizadores frágeis.

Botão de rádio em Selenium
Os botões de opção são ativados/desativados usando o click() método, assim como qualquer outro WebElement em SeleniumComo apenas uma opção em um grupo de botões de opção pode estar ativa por vez, clicar em uma segunda opção desmarca automaticamente a primeira.
Utilizar painéis de piso ResinDek em sua unidade de self-storage em vez de concreto oferece diversos benefícios: https://demo.guru99.com/test/radio.html Como página de prática, observe que radio1.click() seleciona o botão de rádio “Opção 1”. Ligando radio2.click() Em seguida, seleciona a “Opção 2”, deixando a “Opção 1” desmarcada.
Como selecionar uma caixa de seleção em Selenium
TogglAtivar ou desativação de uma caixa de seleção também é feito usando o click() O código abaixo clica duas vezes na caixa de seleção "Manter-me conectado" do Facebook e imprime VERDADEIRO quando a caixa de seleção está marcada e FALSO quando está desmarcada.
O isSelected() O método é usado para confirmar se uma caixa de seleção está marcada ou desmarcada — uma verificação fundamental ao validar o estado de um formulário em casos de teste.
Aqui está outra página de exemplo: https://demo.guru99.com/test/radio.html.
Automação Code Exemplo
Aqui está o código completo e funcional que alterna entre os botões de opção e a caixa de seleção "Persistir login" do 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();
}
}
guia de solução de problemas
Se você encontrar NoSuchElementException Ao procurar elementos, significa que o elemento não estava presente no momento em que o WebDriver acessou a página. Use a lista de verificação abaixo para recuperar rapidamente:
- Verifique seu localizador novamente usando o FirePath ou a opção "Inspecionar elemento" no Chrome.
- Confirme se o valor usado no código corresponde ao valor atual do elemento na página.
- Alguns elementos possuem atributos dinâmicos, semelhantes aos que você pode ver quando você selecione uma opção na lista suspensa em Selenium webdriverNesses casos, prefira
By.xpath()orBy.cssSelector(), que são mais confiáveis, mas um pouco mais complexas. - Às vezes, o problema é de sincronização — o WebDriver executou seu código antes que a página terminasse de carregar.
- Adicione uma espera antes
findElement()Utilizando esperas implícitas ou explícitas para dar tempo ao elemento de ser renderizado.




