In questo tutorial vedremo come identificare i seguenti elementi del modulo
- Pulsante radio
- Casella di controllo
Pulsante radio
Anche i pulsanti di opzione possono essere attivati utilizzando il metodo click ().
Utilizzando http://demo.guru99.com/test/radio.html per esercitarsi, vedere che radio1.click () si attiva o disattiva il pulsante di opzione "Opzione1". radio2.click () attiva il pulsante di opzione "Opzione2" lasciando deselezionata "Opzione1".
Casella di controllo
Anche l'attivazione / disattivazione di una casella di controllo viene eseguita utilizzando il metodo click () .
Il codice seguente farà clic due volte sulla casella di controllo "Keep me logg in" di Facebook e quindi visualizzerà il risultato come TRUE quando è attivato e FALSE se è disattivato.
Il metodo isSelected () viene utilizzato per sapere se la casella di controllo è attivata o disattivata.
Ecco un altro esempio: http://demo.guru99.com/test/radio.html
Codice completo
Ecco il codice funzionante completo
import org.openqa.selenium.By;import org.openqa.selenium.WebDriver;import org.openqa.selenium.chrome.ChromeDriver;import org.openqa.selenium. *;modulo di classe pubblica {public static void main (String [] args) {// dichiarazione e istanziazione di oggetti / variabiliSystem.setProperty ("webdriver.chrome.driver", "G: \\ chromedriver.exe");Driver WebDriver = nuovo 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"));// Il pulsante di opzione 1 è selezionatoradio1.click ();System.out.println ("Opzione 1 pulsante di opzione selezionata");// Il pulsante radio1 è deselezionato e il pulsante radio2 è selezionatoradio2.click ();System.out.println ("Opzione 2 pulsante di opzione selezionata");// Selezione della casella di controlloWebElement opzione1 = driver.findElement (By.id ("vfb-6-0"));// Questo attiverà la casella di controllooption1.click ();// Controlla se la casella di controllo è attivataif (option1.isSelected ()) {System.out.println ("La casella di controllo è attivata");} altro {System.out.println ("La casella di controllo è disattivata");}// Selezione della casella di controllo e utilizzo del metodo isSelecteddriver.get ("http://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 ("Lo stato della casella di controllo di Facebook persiste è -" + chkFBPersist.isSelected ());}//driver.close ();}}
Risoluzione dei problemi
Se incontri NoSuchElementException () durante la ricerca di elementi, significa che l'elemento non si trova nella pagina nel punto in cui il driver Web ha avuto accesso alla pagina.
- Controlla di nuovo il tuo localizzatore utilizzando Firepath o Inspect Element in Chrome.
- Controlla se il valore che hai usato nel codice è diverso da quello dell'elemento in Firepath ora.
- Alcune proprietà sono dinamiche per pochi elementi. Nel caso in cui trovi che il valore è diverso e cambia dinamicamente, considera l'utilizzo di By.xpath () o By.cssSelector () che sono modi più affidabili ma complessi.
- A volte, potrebbe anche essere un problema di attesa, ovvero il driver Web ha eseguito il codice anche prima che la pagina si caricasse completamente, ecc.
- Aggiungi un'attesa prima di findElement () usando attese implicite o esplicite.
Sommario
- La tabella seguente riassume i comandi per accedere a ciascun tipo di elemento discusso in precedenza
Elemento | Comando | Descrizione |
---|---|---|
Casella di controllo, pulsante di opzione | clic() | utilizzato per attivare / disattivare l'elemento |