V tomto tutoriále uvidíme, ako identifikovať nasledujúce prvky formulára
- Tlačítko na Rádiu
- Začiarkavacie políčko
Tlačítko na Rádiu
Rádiové tlačidlá je tiež možné zapnúť pomocou metódy click ().
Na stránke http://demo.guru99.com/test/radio.html si pozrite, že radio1.click () prepína prepínač „Option1“. radio2.click () prepína na prepínač „Option2“ a ponecháva možnosť „Option1“ nevybranú.
Začiarkavacie políčko
Zapínanie a vypínanie začiarkavacieho políčka sa tiež vykonáva metódou click () .
Kód uvedený nižšie dvakrát klikne na začiarkavacie políčko Facebook „Zachovať prihlásenie“ a potom bude výsledok zapnutý ako PRAVDA, keď je zapnutý, a ako nesprávny, ak je vypnutý.
Metóda isSelected () sa používa na zistenie, či je začiarkavacie políčko zapnuté alebo vypnuté.
Tu je ďalší príklad: http://demo.guru99.com/test/radio.html
Kompletný kód
Tu je kompletný pracovný kód
import org.openqa.selenium.By;import org.openqa.selenium.WebDriver;import org.openqa.selenium.chrome.ChromeDriver;import org.openqa.selenium. *;formulár pre verejnú triedu {public static void main (String [] args) {// deklarácia a inštancia objektov / premennýchSystem.setProperty ("webdriver.chrome.driver", "G: \\ chromedriver.exe");Ovládač 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"));// Je zvolené Radio Button1radio1.click ();System.out.println ("Je vybratá možnosť prepínača 1");// Rádio Button1 je zrušené a Rádio Button2 je vybranéradio2.click ();System.out.println ("Je vybratá možnosť prepínača 2");// Výber začiarkavacieho políčkaWebElement option1 = driver.findElement (By.id ("vfb-6-0"));// Týmto prepnete začiarkavacie políčkooption1.click ();// Skontrolujte, či je začiarkavacie políčko zapnutéif (option1.isSelected ()) {System.out.println ("Začiarkavacie políčko je zapnuté");} else {System.out.println ("Začiarkavacie políčko je vypnuté");}// Zaškrtnutie políčka a použitie metódy isSelecteddriver.get ("http://demo.guru99.com/test/facebook.html");WebElement chkFBPersist = driver.findElement (By.id ("persist_box"));pre (int i = 0; i <2; i ++) {chkFBPersist.click ();System.out.println ("Facebook pretrváva stav začiarkavacieho políčka je -" + chkFBPersist.isSelected ());}//driver.close ();}}
Riešenie problémov
Ak sa pri hľadaní prvkov stretnete s NoSuchElementException (), znamená to, že prvok sa na stránke nenachádza v okamihu, keď webový ovládač vstúpil na stránku.
- Znova skontrolujte svoj lokátor pomocou Firepath alebo Inspect Element v prehliadači Chrome.
- Skontrolujte, či sa hodnota, ktorú ste použili v kóde, líši od hodnoty pre prvok v aplikácii Firepath teraz.
- Niektoré vlastnosti sú dynamické pre niekoľko prvkov. V prípade, že zistíte, že hodnota je iná a dynamicky sa mení, zvážte použitie By.xpath () alebo By.cssSelector (), ktoré sú spoľahlivejšie, ale zložitejšie spôsoby.
- Niekedy to môže byť aj problém s čakaním, tj. Webový ovládač vykonal váš kód ešte predtým, ako sa stránka úplne načítala, atď.
- Pridajte čakanie pred findElement () pomocou implicitného alebo explicitného čakania.
Zhrnutie
- V nasledujúcej tabuľke sú zhrnuté príkazy na prístup ku každému typu prvku, o ktorom sa hovorí vyššie
Prvok | Velenie | Popis |
---|---|---|
Začiarkavacie políčko, prepínač | kliknite () | slúži na zapnutie / vypnutie prvku |