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.
- Ponovno provjerite svoj lokator koristeći Firepath ili Inspect Element u Chromeu.
- Provjerite razlikuje li se vrijednost koju ste koristili u kodu od one za element u Firepathu sada.
- 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.
- 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.
- 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 |