Ako vybrať začiarkavacie políčko a prepínač v Selenium WebDriver

Obsah:

Anonim

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.

  1. Znova skontrolujte svoj lokátor pomocou Firepath alebo Inspect Element v prehliadači Chrome.
  2. Skontrolujte, či sa hodnota, ktorú ste použili v kóde, líši od hodnoty pre prvok v aplikácii Firepath teraz.
  3. 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.
  4. 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ď.
  5. 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