Hoe u een keuzerondje selecteert en aanvinktBox in Selenium

Keuzerondje in Selenium

Ook radioknoppen kunnen worden ingeschakeld met behulp van de click()-methode.

gebruik https://demo.guru99.com/test/radio.html Zie voor de praktijk dat radio1.click() het keuzerondje "Option1" inschakelt. radio2.click() schakelt het keuzerondje “Option2” in en laat “Option1” ongeselecteerd.

Keuzerondje In Selenium

Controleren selecterenbox in Selenium

Een cheque omschakelen box aan/uit gebeurt ook met behulp van de Klik() methode.

De onderstaande code klikt op Facebook's 'Houd mij ingelogd'-vinkje box tweemaal en voer het resultaat vervolgens uit als TRUE als het is ingeschakeld, en FALSE als het is uitgeschakeld.

Selecteer Controlebox In Selenium

Selecteer Controlebox In Selenium

isSelected() methode wordt gebruikt om te weten of de Checkbox wordt in- of uitgeschakeld.

Hier is nog een voorbeeld: https://demo.guru99.com/test/radio.html

Selecteer Controlebox In Selenium

Volledige code

Hier is de volledige werkende code

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();		
        		
    }		
}

Probleem oplossen

Als u NoSuchElementException() tegenkomt tijdens het zoeken naar elementen, betekent dit dat het element niet op de pagina is gevonden op het moment dat het webstuurprogramma de pagina heeft geopend.

  1. Controleer uw locator opnieuw met Firepath of Inspect Element in Chrome.
  2. Controleer nu of de waarde die u in de code heeft gebruikt, anders is dan die voor het element in Firepath.
  3. Sommige eigenschappen zijn dynamisch voor enkele elementen. Als u merkt dat de waarde anders is en dynamisch verandert, overweeg dan om By.xpath() of By.cssSelector() te gebruiken, die betrouwbaarder zijn, maar complex manieren.
  4. Soms kan het ook een wachtprobleem zijn, dat wil zeggen dat het webstuurprogramma uw code uitvoert nog voordat de pagina volledig is geladen, enz.
  5. Voeg een wachttijd toe vóór findElement() met behulp van impliciete of expliciete wachttijden.

Samengevat

  • De onderstaande tabel vat de opdrachten samen voor toegang tot elk type element dat hierboven is besproken
Element commando Omschrijving
Check Box, Radio knop Klik() gebruikt om het element aan/uit te zetten