Як вибрати перемикач і поставити галочкуBox in Selenium
Перемикач увімкнено Selenium
Перемикачі також можна ввімкнути за допомогою методу click().
використання https://demo.guru99.com/test/radio.html для практики подивіться, що radio1.click() перемикає перемикач «Option1». radio2.click() вмикає перемикач «Option2», залишаючи «Option1» невибраним.
Як вибрати прапорець у Selenium
TogglУвімкнення/вимкнення прапорця також виконується за допомогою клік() метод.
Наведений нижче код двічі клацає прапорець «Залишати мене в системі» у Facebook, а потім виводить результат як TRUE, коли його ввімкнено, та FALSE, якщо його вимкнено.
Метод isSelected() використовується для визначення того, увімкнено чи вимкнено прапорець.
Ось ще один приклад: https://demo.guru99.com/test/radio.html
Повний код
Ось повний робочий код
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() під час пошуку елементів, це означає, що елемент не знайдено на сторінці в момент доступу веб-драйвера до сторінки.
- Ще раз перевірте свій локатор за допомогою Firepath або Inspect Element у Chrome.
- Перевірте, чи значення, яке ви використали в коді, відрізняється від значення для елемента у Firepath зараз.
- Деякі властивості є динамічними для кількох елементів. У випадку, якщо ви виявите, що значення інше та динамічно змінюється, розгляньте можливість використання By.xpath() або By.cssSelector(), які є більш надійними, але складнішими способами.
- Іноді це також може бути проблемою очікування, тобто веб-драйвер виконав ваш код ще до того, як сторінка повністю завантажилася тощо.
- Додайте очікування перед findElement() за допомогою неявних або явних очікувань.
Підсумки
- У наведеній нижче таблиці підсумовано команди для доступу до кожного типу елементів, розглянутих вище
Елемент | Command | Описи конструкції |
---|---|---|
перевірити Box, Радіо-кнопка | клік() | використовується для ввімкнення/вимкнення елемента |