Kako odabrati checkbox i radio gumb u programu Selenium WebDriver

Sadržaj:

Anonim

U ovom uputstvu vidjet ćemo kako prepoznati sljedeće elemente obrasca

  • Radio gumb
  • Potvrdni okvir

Radio gumb

I radio gumbe možete uključiti metodom click ().

Koristeći http://demo.guru99.com/test/radio.html za vježbanje, pogledajte da radio1.click () prebacuje na radio gumb "Option1". radio2.click () prebacuje na gumb "Option2" ostavljajući "Option1" neoznačenim.

Potvrdni okvir

Uključivanje / isključivanje potvrdnog okvira također se vrši pomoću metode click () .

Kôd u nastavku dvaput će kliknuti Facebookov potvrdni okvir "Keep me logged in", a zatim će rezultat prikazati TRUE kada je uključen i FALSE ako je isključen.

metoda isSelected () koristi se za utvrđivanje je li potvrdni okvir uključen ili isključen.

Evo još jednog primjera: http://demo.guru99.com/test/radio.html

Potpuni kod

Ovdje je potpuni radni kod

uvoz org.openqa.selenium.By;uvoz org.openqa.selenium.WebDriver;uvoz org.openqa.selenium.chrome.ChromeDriver;uvoz org.openqa.selenium. *;obrazac za javni razred {javna statička void glavna (String [] args) {// deklaracija i instancija objekata / varijabliSystem.setProperty ("webdriver.chrome.driver", "G: \\ chromedriver.exe");Upravljački program WebDriver = novi 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"));// Odabran je radio gumb 1radio1.click ();System.out.println ("Odabrana je opcija 1 radio gumba");// Radio gumb 1 je odabran i odabran je radio gumb 2radio2.click ();System.out.println ("Odabrana opcija 2 radio gumba");// Odabir CheckBox-aWebElement option1 = driver.findElement (By.id ("vfb-6-0"));// Ovo će uključiti / isključiti potvrdni okviroption1.click ();// Provjerite je li potvrdni okvir uključenif (option1.isSelected ()) {System.out.println ("Uključen je potvrdni okvir");} ostalo {System.out.println ("Potvrdni okvir je isključen");}// Odabirom potvrdnog okvira i korištenjem 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 ("Status potvrdnog okvira Facebook ostaje -" + chkFBPersist.isSelected ());}//driver.close ();}}

Rješavanje problema

Ako naiđete na NoSuchElementException () tijekom pronalaska elemenata, to znači da element nije pronađen na stranici u trenutku kada je web-pokretač pristupio stranici.

  1. Ponovno provjerite svoj lokator koristeći Firepath ili Inspect Element u Chromeu.
  2. Provjerite razlikuje li se vrijednost koju ste koristili u kodu od one za element u Firepathu sada.
  3. Neka svojstva su dinamična za nekoliko elemenata. U slučaju da ustanovite da je vrijednost drugačija i da se dinamički mijenja, razmislite o upotrebi By.xpath () ili By.cssSelector () koji su pouzdaniji, ali složeni načini.
  4. Ponekad bi to moglo biti i pitanje čekanja, tj. Web-upravljački program izvršio je vaš kôd i prije nego što se stranica u potpunosti učitala itd.
  5. Dodajte čekanje prije findElement () pomoću implicitnih ili eksplicitnih čekanja.

Sažetak

  • Tablica u nastavku sažima naredbe za pristup svakoj vrsti elementa o kojem je gore bilo riječi
Element Naredba Opis
Potvrdni okvir, radio gumb klik() koristi se za uključivanje / isključivanje elementa