Neste tutorial, veremos como identificar os seguintes elementos de formulário
- Botao de radio
- Caixa de Seleção
Botao de radio
Os botões de rádio também podem ser ativados usando o método click ().
Usando http://demo.guru99.com/test/radio.html para praticar, veja que radio1.click () alterna no botão de rádio "Opção1". radio2.click () alterna no botão de rádio "Opção2", deixando a "Opção1" desmarcada.
Caixa de Seleção
Ativar / desativar uma caixa de seleção também é feito usando o método click () .
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: http://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) {// declaração e instanciação de objetos / variáveisSystem.setProperty ("webdriver.chrome.driver", "G: \\ chromedriver.exe");Driver WebDriver = novo 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"));// Radio Button1 é selecionadoradio1.click ();System.out.println ("Opção 1 do botão de rádio selecionada");// Radio Button1 é desmarcado e Radio Button2 é selecionadoradio2.click ();System.out.println ("Opção 2 do botão de rádio selecionada");// Selecionando CheckBoxWebElement opção1 = driver.findElement (By.id ("vfb-6-0"));// Isso irá alternar a caixa de seleçãooption1.click ();// Verifique se a caixa de seleção está ativadaif (option1.isSelected ()) {System.out.println ("Caixa de seleção ativada");} outro {System.out.println ("Checkbox is Toggled Off");}// Selecionando a caixa de seleção e usando o 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 ("O status da caixa de seleção do Facebook persiste é -" + chkFBPersist.isSelected ());}//driver.close ();}}
Solução de problemas
Se você encontrar NoSuchElementException () ao localizar elementos, significa que o elemento não foi encontrado na página no ponto em que o driver da Web acessou a página.
- Verifique seu localizador novamente usando Firepath ou Inspecionar elemento no Chrome.
- Verifique se o valor que você usou no código é diferente daquele para o elemento no Firepath agora.
- Algumas propriedades são dinâmicas para poucos elementos. No caso, você achar que o valor é diferente e está mudando dinamicamente, considere usar By.xpath () ou By.cssSelector () que são maneiras mais confiáveis, mas complexas.
- Às vezes, pode ser um problema de espera também, 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
Elemento | Comando | Descrição |
---|---|---|
Caixa de seleção, botão de rádio | clique() | usado para ligar / desligar o elemento |