Kako izbrati CheckBox in radijski gumb v programu Selenium WebDriver

Kazalo:

Anonim

V tej vadnici bomo videli, kako prepoznati naslednje elemente obrazca

  • Radijski gumb
  • Potrditveno polje

Radijski gumb

Tudi radijske gumbe lahko vklopite z uporabo metode click ().

Če za vajo uporabite http://demo.guru99.com/test/radio.html, glejte, da radio1.click () preklopi na izbirni gumb "Option1". radio2.click () preklopi na izbirni gumb "Option2", pri čemer možnost "Option1" ni izbrana.

Potrditveno polje

Vklop / izklop potrditvenega polja se izvede tudi z uporabo metode click () .

Spodnja koda bo dvakrat kliknila Facebookovo potrditveno polje »Naj ostane prijavljen« in nato bo rezultat prikazal kot TRUE, ko je vklopljen, in FALSE, če je izklopljen.

z metodo isSelected () se ve, ali je potrditveno polje vklopljeno ali izklopljeno.

Tu je še en primer: http://demo.guru99.com/test/radio.html

Popolna koda

Tu je celotna delovna koda

uvoz org.openqa.selenium.By;uvoz org.openqa.selenium.WebDriver;uvoz org.openqa.selenium.chrome.ChromeDriver;uvoz org.openqa.selenium. *;Obrazec za javni razred {public static void main (String [] args) {// deklaracija in instanciranje objektov / spremenljivkSystem.setProperty ("webdriver.chrome.driver", "G: \\ chromedriver.exe");Gonilnik WebDriver = nov 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"));// Izbran je radijski gumb1radio1.click ();System.out.println ("Izbrana možnost 1 radijskega gumba");// Radio Button1 je izbran in izbran je Radio Button2radio2.click ();System.out.println ("Izbrana možnost 2 radijskega gumba");// Izbira CheckBoxWebElement option1 = driver.findElement (By.id ("vfb-6-0"));// To bo preklopilo potrditveno poljeoption1.click ();// Preverite, ali je potrditveno polje vklopljenoif (option1.isSelected ()) {System.out.println ("Potrditveno polje je vklopljeno");} še {System.out.println ("Potrditveno polje je izklopljeno");}// Izbira potrditvenega polja in uporaba isSelected Methoddriver.get ("http://demo.guru99.com/test/facebook.html");WebElement chkFBPersist = driver.findElement (By.id ("persist_box"));za (int i = 0; i <2; i ++) {chkFBPersist.click ();System.out.println ("Stanje potrditvenega polja Facebook vztraja -" + chkFBPersist.isSelected ());}//driver.close ();}}

Odpravljanje težav

Če med iskanjem elementov naletite na NoSuchElementException (), to pomeni, da elementa na strani ni mogoče najti na mestu, kjer je spletni gonilnik dostopal do strani.

  1. Znova preverite svoj lokator s pomočjo Firepath ali Inspect Element v Chromu.
  2. Preverite, ali se vrednost, ki ste jo uporabili v kodi, razlikuje od vrednosti elementa v Firepathu zdaj.
  3. Nekatere lastnosti so dinamične za nekaj elementov. V primeru, da ugotovite, da je vrednost drugačna in se dinamično spreminja, razmislite o uporabi By.xpath () ali By.cssSelector (), ki sta bolj zanesljiva, a zapletena načina.
  4. Včasih je to lahko tudi težava s čakanjem, tj. Spletni gonilnik je izvršil vašo kodo, še preden se je stran popolnoma naložila itd.
  5. Dodajte čakanje pred findElement () z uporabo implicitnih ali eksplicitnih čakal.

Povzetek

  • Spodnja tabela povzema ukaze za dostop do posamezne zgoraj obravnavane vrste elementov
Element Ukaz Opis
Potrditveno polje, radijski gumb kliknite () uporablja se za vklop / izklop elementa