Выберите радиокнопку и проверьте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 или инструмент «Просмотреть элемент» в Chrome.
- Убедитесь, что значение, использованное в коде, соответствует текущему значению элемента на странице.
- Некоторые элементы обладают динамическими атрибутами, подобными тем, что вы можете видеть при выберите в выпадающем списке Selenium ВебдрайверВ таких случаях предпочтительнее
By.xpath()orBy.cssSelector()которые более надежны, но несколько сложнее. - Иногда проблема заключается во времени выполнения — WebDriver выполнил ваш код до того, как страница полностью загрузилась.
- Добавить задержку перед
findElement()использование неявных или явных задержек, чтобы дать элементу время на отрисовку.




