Sådan vælger du radioknap og kontrollerBox in Selenium

Radioknap ind Selenium

Radioknapper kan også være toggled på ved at bruge click() metoden.

Ved brug af https://demo.guru99.com/test/radio.html for øvelse, se at radio1.click() toggles på alternativknappen "Option1". radio2.click() toggles på alternativknappen "Option2" og lader "Option1" være umarkeret.

Radioknap ind Selenium

Sådan vælger du Checkbox in Selenium

Togglaf en check box tænd/sluk udføres også ved hjælp af klik() fremgangsmåde.

Koden nedenfor vil klikke på Facebooks "Hold mig logget ind" afkrydsningsfeltet box to gange og udskriv derefter resultatet som TRUE, når det er det toggled på, og FALSK hvis det er togglslukket.

Vælg Checkbox In Selenium

Vælg Checkbox In Selenium

isSelected()-metoden bruges til at vide, om Checkbox is toggled til eller fra.

Her er et andet eksempel: https://demo.guru99.com/test/radio.html

Vælg Checkbox In Selenium

Komplet kode

Her er den komplette arbejdskode

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

Fejlfinding

Hvis du støder på NoSuchElementException(), mens du finder elementer, betyder det, at elementet ikke findes på siden på det tidspunkt, hvor webdriveren fik adgang til siden.

  1. Tjek din locator igen ved hjælp af Firepath eller Inspect Element i Chrome.
  2. Tjek, om den værdi, du brugte i koden, er forskellig fra værdien for elementet i Firepath nu.
  3. Nogle egenskaber er dynamiske for få elementer. Hvis du opdager, at værdien er anderledes og ændrer sig dynamisk, kan du overveje at bruge By.xpath() eller By.cssSelector(), som er mere pålidelige, men complex måder.
  4. Nogle gange kan det også være et venteproblem, dvs. webdriveren udførte din kode, selv før siden blev indlæst fuldstændigt osv.
  5. Tilføj en ventetid før findElement() ved hjælp af implicitte eller eksplicitte ventetider.

Resumé

  • Tabellen nedenfor summenmarizes kommandoerne for at få adgang til hver type element diskuteret ovenfor
Element Kommando Beskrivelse
Check (Skak) Box, Radio knap klik() plejede toggle elementet til/fra