Как выбрать CheckBox и Radio Button в Selenium WebDriver

Содержание:

Anonim

В этом уроке мы увидим, как идентифицировать следующие элементы формы

  • Переключатель
  • Флажок

Переключатель

Радиокнопки также можно включить с помощью метода click ().

Используя http://demo.guru99.com/test/radio.html для практики, посмотрите, что radio1.click () переключает переключатель "Option1". radio2.click () переключает переключатель "Option2", оставляя "Option1" невыделенным.

Флажок

Включение / выключение флажка также выполняется с помощью метода click () .

В приведенном ниже коде дважды щелкнет флажок Facebook «Держать меня в системе», а затем вывести результат как ИСТИНА, если он включен, и ЛОЖЬ, если он выключен.

isSelected () используется, чтобы узнать, включен или выключен флажок.

Вот еще один пример: http://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) {// объявление и создание экземпляров объектов / переменныхSystem.setProperty ("webdriver.chrome.driver", "G: \\ chromedriver.exe");Драйвер WebDriver = новый ChromeDriver ();driver.get ("http://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 Button1radio1.click ();System.out.println («Выбран вариант 1 радиокнопки»);// Radio Button1 не выбран, а Radio Button2 выбранradio2.click ();System.out.println («Выбран вариант 2 радиокнопки»);// Выбор CheckBoxWebElement option1 = driver.findElement (By.id ("vfb-6-0"));// Это переключит флажокoption1.click ();// Проверяем, установлен ли флажокif (option1.isSelected ()) {System.out.println («Флажок установлен»);} еще {System.out.println («Флажок отключен»);}// Установка флажка и использование метода isSelecteddriver.get ("http://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 сохраняет статус флажка -» + chkFBPersist.isSelected ());}//driver.close ();}}

Исправление проблем

Если вы столкнулись с NoSuchElementException () при поиске элементов, это означает, что элемент не найден на странице в момент обращения к странице веб-драйвером.

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

Резюме

  • В таблице ниже приведены команды для доступа к каждому типу элементов, описанных выше.
Элемент Командование Описание
Флажок, переключатель нажмите () используется для включения / выключения элемента