Як вибрати перемикач і поставити галочкуBox in Selenium

Перемикач увімкнено Selenium

Перемикачі також можна ввімкнути за допомогою методу click().

використання https://demo.guru99.com/test/radio.html для практики подивіться, що radio1.click() перемикає перемикач «Option1». radio2.click() вмикає перемикач «Option2», залишаючи «Option1» невибраним.

Перемикач Вхід Selenium

Як вибрати прапорець у Selenium

TogglУвімкнення/вимкнення прапорця також виконується за допомогою клік() метод.

Наведений нижче код двічі клацає прапорець «Залишати мене в системі» у Facebook, а потім виводить результат як TRUE, коли його ввімкнено, та FALSE, якщо його вимкнено.

Виберіть прапорець у Selenium

Виберіть прапорець у Selenium

Метод isSelected() використовується для визначення того, увімкнено чи вимкнено прапорець.

Ось ще один приклад: https://demo.guru99.com/test/radio.html

Виберіть прапорець у Selenium

Повний код

Ось повний робочий код

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

Пошук і усунення несправностей

Якщо ви зіткнулися з NoSuchElementException() під час пошуку елементів, це означає, що елемент не знайдено на сторінці в момент доступу веб-драйвера до сторінки.

  1. Ще раз перевірте свій локатор за допомогою Firepath або Inspect Element у Chrome.
  2. Перевірте, чи значення, яке ви використали в коді, відрізняється від значення для елемента у Firepath зараз.
  3. Деякі властивості є динамічними для кількох елементів. У випадку, якщо ви виявите, що значення інше та динамічно змінюється, розгляньте можливість використання By.xpath() або By.cssSelector(), які є більш надійними, але складнішими способами.
  4. Іноді це також може бути проблемою очікування, тобто веб-драйвер виконав ваш код ще до того, як сторінка повністю завантажилася тощо.
  5. Додайте очікування перед findElement() за допомогою неявних або явних очікувань.

Підсумки

  • У наведеній нижче таблиці підсумовано команди для доступу до кожного типу елементів, розглянутих вище
Елемент Command Описи конструкції
перевірити Box, Радіо-кнопка клік() використовується для ввімкнення/вимкнення елемента