Jak wybrać przycisk opcji i sprawdzićBox in Selenium

Przycisk radiowy w Selenium

Przyciski radiowe można również włączać i wyłączać za pomocą metody click().

Korzystanie z https://demo.guru99.com/test/radio.html w celach ćwiczeniowych zobacz, że radio1.click() przełącza przycisk radiowy „Opcja1”. radio2.click() przełącza przycisk radiowy „Opcja2”, pozostawiając „Opcję1” niezaznaczoną.

Przycisk opcji Wej Selenium

Jak zaznaczyć pole wyboru w Selenium

TogglWłączanie/wyłączanie pola wyboru odbywa się również za pomocą Kliknij() Metoda.

Poniższy kod spowoduje dwukrotne kliknięcie pola wyboru „Zapamiętaj mnie” na Facebooku, a następnie wyświetlenie wyniku jako TRUE, gdy pole to jest zaznaczone, lub FALSE, gdy jest wyłączone.

Zaznacz pole wyboru w Selenium

Zaznacz pole wyboru w Selenium

Metoda isSelected() służy do sprawdzenia, czy pole wyboru jest włączone czy wyłączone.

Oto kolejny przykład: https://demo.guru99.com/test/radio.html

Zaznacz pole wyboru w Selenium

Kompletny kod

Oto kompletny działający kod

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

Rozwiązywanie problemów

Jeśli podczas wyszukiwania elementów napotkasz funkcję NoSuchElementException(), oznacza to, że elementu nie znaleziono na stronie w momencie, gdy sterownik sieciowy uzyskał dostęp do strony.

  1. Sprawdź ponownie swój lokalizator za pomocą Firepath lub Inspect Element w przeglądarce Chrome.
  2. Sprawdź, czy wartość użyta w kodzie różni się teraz od wartości elementu w Firepath.
  3. Niektóre właściwości są dynamiczne dla kilku elementów. Jeśli okaże się, że wartość jest inna i zmienia się dynamicznie, rozważ użycie By.xpath() lub By.cssSelector(), które są bardziej niezawodnymi, ale złożonymi metodami.
  4. Czasami może to być również problem związany z oczekiwaniem, np. sterownik sieciowy wykonał kod jeszcze przed całkowitym załadowaniem strony itp.
  5. Dodaj oczekiwanie przed findElement() przy użyciu niejawnych lub jawnych oczekiwań.

Podsumowanie

  • Poniższa tabela podsumowuje polecenia umożliwiające dostęp do każdego typu elementu omówionego powyżej
Element Command Opis
Sprawdź Box, Przycisk radiowy Kliknij() służy do włączania/wyłączania elementu