Come selezionare il pulsante di opzione e controllareBox 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.

Pulsante di opzione inserito Selenium

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.

Seleziona la casella di controllo in Selenium

Seleziona la casella di controllo in Selenium

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

Seleziona la casella di controllo in Selenium

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.

  1. Controlla di nuovo il tuo localizzatore utilizzando Firepath o Ispeziona Elemento in Chrome.
  2. Controlla ora se il valore che hai utilizzato nel codice è diverso da quello dell'elemento in Firepath.
  3. 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.
  4. 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.
  5. Aggiungi un'attesa prima di findElement() utilizzando attese implicite o esplicite.

Sommario

  • 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