У цьому підручнику ми побачимо, як визначити наступні елементи форми
- Радіо-кнопка
- Прапорець
Радіо-кнопка
Радіокнопки теж можна вмикати, використовуючи метод 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 () під час пошуку елементів, це означає, що елемент не знайдений на сторінці в точці, до якої веб-драйвер здійснював доступ до сторінки.
- Перевірте свій локатор ще раз за допомогою Firepath або Inspect Element у Chrome.
- Перевірте, чи значення, яке ви використовували в коді, відрізняється від значення елемента у Firepath зараз.
- Деякі властивості динамічні для кількох елементів. Якщо ви виявите, що значення відрізняється і динамічно змінюється, розгляньте можливість використання By.xpath () або By.cssSelector (), які є більш надійними, але складними способами.
- Іноді це може бути проблемою очікування, тобто веб-драйвер виконував ваш код ще до того, як сторінка повністю завантажилася тощо.
- Додайте очікування перед findElement (), використовуючи неявні або явні очікування.
Резюме
- У наведеній нижче таблиці узагальнено команди для доступу до кожного типу елементів, обговорених вище
Стихія | Команда | Опис |
---|---|---|
Прапорець, радіокнопка | натисніть () | використовується для увімкнення / вимкнення елемента |