Seleziona il pulsante di opzione e selezionaBox in Selenium
Pulsante di opzione inserito Selenium
Anche i pulsanti di opzione possono essere attivati โโutilizzando il metodo click().
utilizzando https://demo.guru99.com/test/radio.html per esercitazione, vedi che radio1.click() attiva/disattiva il pulsante di opzione "Opzione1". radio2.click() attiva/disattiva il pulsante di opzione "Opzione2" lasciando l'"Opzione1" deselezionata.
Come selezionare la casella di controllo in Selenium
TogglL'attivazione/disattivazione di una casella di controllo avviene anche tramite clic() metodo.
Il codice seguente farร clic due volte sulla casella di controllo di Facebook "Resta connesso" e poi restituirร il risultato come TRUE quando รจ attivata e FALSE se รจ disattivata.
Il metodo isSelected() viene utilizzato per sapere se la casella di controllo รจ attivata o disattivata.
Ecco un altro esempio: https://demo.guru99.com/test/radio.html
Codice completo
Ecco il codice completo di funzionamento
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();
}
}
Troubleshooting
Se incontri NoSuchElementException() durante la ricerca di elementi, significa che l'elemento non รจ stato trovato nella pagina nel punto in cui il driver Web ha effettuato l'accesso alla pagina.
- Controlla di nuovo il tuo localizzatore utilizzando Firepath o Ispeziona Elemento in Chrome.
- Controlla ora se il valore che hai utilizzato nel codice รจ diverso da quello dell'elemento in Firepath.
- Alcune proprietร sono dinamiche per pochi elementi. Nel caso in cui scoprissi che il valore รจ diverso e cambia dinamicamente, considera di usare By.xpath() o By.cssSelector() che sono metodi piรน affidabili ma complessi.
- A volte potrebbe trattarsi anche di un problema di attesa, ad esempio il driver Web ha eseguito il codice anche prima che la pagina fosse caricata completamente, ecc.
- Aggiungi un'attesa prima di findElement() utilizzando attese implicite o esplicite.
Sintesi
- La tabella seguente riassume i comandi per accedere a ciascuna tipologia di elemento discusso sopra
| elemento | Comando | Descrizione |
|---|---|---|
| Vedi Box, Radio Button | clic() | utilizzato per attivare/disattivare l'elemento |




