Velg radioknapp og merk avBox in Selenium

Radioknapp inn Selenium

Radioknapper kan også slås på ved å bruke click()-metoden.

Ved hjelp av https://demo.guru99.com/test/radio.html for øvelse, se at radio1.click() slår på alternativ1-knappen. radio2.click() slår på alternativknappen "Alternativ2" og lar "Alternativ1" være umerket.

Radioknapp inn Selenium

Hvordan velge avmerkingsboks i Selenium

Toggling av en avkrysningsboks på/av gjøres også ved å bruke klikk() metoden.

Koden nedenfor vil klikke på Facebooks "Hold meg pålogget"-avmerkingsboks to ganger og deretter vise resultatet som TRUE når det er slått på, og FALSE hvis det er slått av.

Velg Avmerkingsboks inn Selenium

Velg Avmerkingsboks inn Selenium

isSelected()-metoden brukes til å vite om avmerkingsboksen er slått på eller av.

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

Velg Avmerkingsboks inn Selenium

Komplett kode

Her er den komplette arbeidskoden

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

Feilsøking

Hvis du støter på NoSuchElementException() mens du finner elementer, betyr det at elementet ikke finnes på siden på det tidspunktet webdriveren åpnet siden.

  1. Sjekk lokatoren din igjen ved å bruke Firepath eller Inspect Element i Chrome.
  2. Sjekk om verdien du brukte i koden er forskjellig fra den for elementet i Firepath nå.
  3. Noen egenskaper er dynamiske for få elementer. Hvis du finner ut at verdien er annerledes og endres dynamisk, bør du vurdere å bruke By.xpath() eller By.cssSelector() som er mer pålitelige, men komplekse måter.
  4. Noen ganger kan det også være et venteproblem, det vil si at webdriveren utførte koden din selv før siden ble fullstendig lastet, osv.
  5. Legg til en ventetid før findElement() ved å bruke implisitte eller eksplisitte ventetider.

Sammendrag

  • Tabellen nedenfor oppsummerer kommandoene for å få tilgang til hver type element diskutert ovenfor
Element Kommando Tekniske beskrivelser
Trykk her Box, Radioknapp klikk() brukes til å slå elementet på/av