Виберіть радіокнопку та поставте позначкуBox in Selenium
⚡ Розумний підсумок
Виберіть радіокнопку та поставте позначкуBox in Selenium охоплює методи WebDriver для автоматизації двох найпоширеніших елементів керування формами. У цьому посібнику пояснюється, як методи click() та isSelected() перемикають перемикачі та прапорці, а також інструкції з їх використання. Java код, а також ділиться порадами щодо усунення несправностей для нестабільних локаторів.
Перемикач увімкнено Selenium
Радіокнопки вмикаються за допомогою click() метод, як і будь-який інший WebElement у SeleniumОскільки одночасно може бути активним лише один параметр у групі перемикачів, натискання на другий параметр автоматично скасовує вибір першого.
використання https://demo.guru99.com/test/radio.html як сторінку для практики, зверніть увагу, що radio1.click() вибирає радіокнопку «Опція 1». Виклик radio2.click() потім вибирає «Варіант2», залишаючи «Варіант1» невибраним.
Як вибрати прапорець у Selenium
TogglВстановлення або зняття прапорця також здійснюється за допомогою click() метод. Наведений нижче код двічі натискає на прапорець Facebook «Залишати мене в системі» та виводить значення TRUE, коли прапорець увімкнено, та FALSE, коли він вимкнено.
Команда isSelected() Метод використовується для підтвердження того, чи прапорець увімкнено чи вимкнено — ключове твердження під час перевірки стану форми в тестових випадках.
Ось ще один приклад сторінки: https://demo.guru99.com/test/radio.html.
Цілковита Code Приклад
Ось повний робочий код, який перемикає обидві радіокнопки та прапорець «Зберегти вхід у Facebook».
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 and 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 Button 1 is selected
radio1.click();
System.out.println("Radio Button Option 1 Selected");
// Radio Button 1 is de-selected and Radio Button 2 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 checkbox
option1.click();
// Check whether the checkbox is toggled on
if (option1.isSelected()) {
System.out.println("Checkbox is Toggled On");
} else {
System.out.println("Checkbox is Toggled Off");
}
// Selecting a Checkbox and using the 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 під час пошуку елементів це означає, що елемент не був присутній у момент доступу WebDriver до сторінки. Скористайтеся контрольним списком нижче для швидкого відновлення:
- Перевірте свій локатор ще раз за допомогою FirePath або Inspect Element у Chrome.
- Переконайтеся, що значення, яке ви використали в коді, відповідає поточному значенню елемента на сторінці.
- Деякі елементи мають динамічні атрибути, подібні до тих, що ви можете побачити, коли виберіть випадаючий список у Selenium веб-драйверУ таких випадках віддайте перевагу
By.xpath()orBy.cssSelector(), які є надійнішими, але трохи складнішими. - Іноді проблема полягає в часі — WebDriver виконав ваш код до того, як сторінка завершила завантаження.
- Додати очікування перед
findElement()використання неявного або явного очікування, щоб дати елементу час для рендерингу.





