Как да изберете CheckBox и радио бутон в Selenium WebDriver

Съдържание:

Anonim

В този урок ще видим как да идентифицираме следните елементи на формуляра

  • Радио бутон
  • Поле за отметка

Радио бутон

Радио бутоните също могат да бъдат включени чрез метода click ().

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

Поле за отметка

Включването / изключването на квадратчето за отметка също се извършва чрез метода click () .

Кодът по-долу ще щракне два пъти върху квадратчето за отметка „Запази ме влязъл в системата“ и след това ще изведе резултата като 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. *;формуляр за публичен клас {публична статична 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"));// Избран е радио бутон1radio1.click ();System.out.println ("Избран вариант 1 на радио бутон");// Радио бутон1 е отменен и е избран Радио бутон2radio2.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 („Полето за отметка е изключено“);}// Избиране на квадратче за отметка и използване на isSelected Methoddriver.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 (), използвайки неявни или явни изчаквания.

Обобщение

  • Таблицата по-долу обобщава командите за достъп до всеки тип елемент, обсъден по-горе
Елемент Команда Описание
Поле за отметка, радио бутон щракнете () използва се за включване / изключване на елемента