Vyberte přepínač a zaškrtněteBox in Selenium

Přepínač dovnitř Selenium

Přepínače lze také zapnout pomocí metody click().

Použití https://demo.guru99.com/test/radio.html pro praxi se podívejte, že radio1.click() přepíná na přepínač „Option1“. radio2.click() přepne na přepínač „Option2“ a ponechá volbu „Option1“ nevybranou.

Přepínač In Selenium

Jak vybrat zaškrtávací políčko v Selenium

TogglZapnutí/vypnutí zaškrtávacího políčka se také provádí pomocí klikni() metoda.

Níže uvedený kód dvakrát klikne na zaškrtávací políčko „Nechte mě přihlášeného“ na Facebooku a pak výsledek vydá jako PRAVDA, když je zapnuto, a NEPRAVDA, pokud je vypnuto.

Vyberte Checkbox In Selenium

Vyberte Checkbox In Selenium

Metoda isSelected() se používá ke zjištění, zda je zaškrtávací políčko zapnuto nebo vypnuto.

Zde je další příklad: https://demo.guru99.com/test/radio.html

Vyberte Checkbox In Selenium

Kompletní kód

Zde je kompletní pracovní kód

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

Odstraňování poruch

Pokud se při hledání prvků setkáte s NoSuchElementException(), znamená to, že prvek nebyl na stránce nalezen v okamžiku, kdy webový ovladač přistupoval ke stránce.

  1. Znovu zkontrolujte svůj lokátor pomocí Firepath nebo Inspect Element v Chrome.
  2. Zkontrolujte, zda se hodnota, kterou jste použili v kódu, liší od hodnoty pro prvek ve Firepath nyní.
  3. Některé vlastnosti jsou dynamické pro několik prvků. V případě, že zjistíte, že se hodnota liší a dynamicky se mění, zvažte použití By.xpath() nebo By.cssSelector(), které jsou spolehlivější, ale složitější způsoby.
  4. Někdy to může být také problém s čekáním, tj. webový ovladač provedl váš kód ještě před úplným načtením stránky atd.
  5. Přidejte čekání před findElement() pomocí implicitních nebo explicitních čekání.

Shrnutí

  • Níže uvedená tabulka shrnuje příkazy pro přístup ke každému typu prvku diskutovanému výše
Prvek Příkaz Description
Kontrola Box, Tlačítko na rádiu klikni() slouží k zapínání/vypínání prvku