Як вибрати CheckBox і радіокнопку в Selenium WebDriver

Зміст:

Anonim

У цьому підручнику ми побачимо, як визначити наступні елементи форми

  • Радіо-кнопка
  • Прапорець

Радіо-кнопка

Радіокнопки теж можна вмикати, використовуючи метод click ().

Використовуючи http://demo.guru99.com/test/radio.html для практики, переконайтеся, що radio1.click () перемикається на перемикач "Варіант1". radio2.click () перемикає перемикач "Варіант2", залишаючи "Варіант1" не вибраним.

Прапорець

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

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

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

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

Повний код

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

імпорт org.openqa.selenium.By;імпорт org.openqa.selenium.WebDriver;імпорт org.openqa.selenium.chrome.ChromeDriver;імпорт org.openqa.selenium. *;форма публічного класу {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 радіо-кнопки");// Радіокнопка1 відмінена, а Радіокнопка2 вибрана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"));для (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 (), використовуючи неявні або явні очікування.

Резюме

  • У наведеній нижче таблиці узагальнено команди для доступу до кожного типу елементів, обговорених вище
Стихія Команда Опис
Прапорець, радіокнопка натисніть () використовується для увімкнення / вимкнення елемента