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.

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.

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

Riassumi questo post con: