V tomto kurzu uvidíme, jak identifikovat následující prvky formuláře
- Přepínač
- Zaškrtávací políčko
Přepínač
Rádiová tlačítka lze také zapnout pomocí metody click ().
Pomocí http://demo.guru99.com/test/radio.html v praxi zjistíte, že radio1.click () přepíná na přepínači „Option1“. radio2.click () přepne na přepínač „Možnost2“ a ponechá možnost „Možnost1“ nevybranou.
Zaškrtávací políčko
Zapnutí / vypnutí zaškrtávacího políčka se také provádí pomocí metody click () .
Níže uvedený kód dvakrát klikne na zaškrtávací políčko „Zachovat přihlášení“ na Facebooku a poté výsledek přepne na TRUE, když je zapnutý, a FALSE, pokud je vypnutý.
Metoda isSelected () se používá ke zjištění, zda je zaškrtávací políčko zapnuto nebo vypnuto.
Zde je další příklad: http://demo.guru99.com/test/radio.html
Kompletní kód
Zde 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ář veřejné třídy {public static void main (String [] args) {// deklarace a vytváření instancí objektů / proměnnýchSystem.setProperty ("webdriver.chrome.driver", "G: \\ chromedriver.exe");Ovladač 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 vybráno Radio Button1radio1.click ();System.out.println ("Vybrána možnost přepínače 1");// Radio Button1 je zrušeno a je vybráno Radio Button2radio2.click ();System.out.println ("Je vybrána možnost přepínače 2");// Výběr zaškrtávacího políčkaWebElement option1 = driver.findElement (By.id ("vfb-6-0"));// Tím přepnete zaškrtávací políčkooption1.click ();// Zkontrolujte, zda je zaškrtávací políčko zapnutoif (option1.isSelected ()) {System.out.println ("Zaškrtávací políčko je zapnuto");} else {System.out.println ("Zaškrtávací políčko je vypnuto");}// Zaškrtnutí políčka a použití metody isSelecteddriver.get ("http://demo.guru99.com/test/facebook.html");WebElement chkFBPersist = driver.findElement (By.id ("persist_box"));pro (int i = 0; i <2; i ++) {chkFBPersist.click ();System.out.println ("Facebook zůstává stav zaškrtávacího políčka je -" + chkFBPersist.isSelected ());}//driver.close ();}}
Odstraňování problémů
Pokud při hledání prvků narazíte na NoSuchElementException (), znamená to, že prvek není na stránce nalezen v okamžiku, kdy webový ovladač přistupoval ke stránce.
- Zkontrolujte svůj lokátor znovu pomocí Firepath nebo Inspect Element v prohlížeči Chrome.
- Zkontrolujte, zda se hodnota použitá v kódu liší od hodnoty pro prvek ve Firepath.
- Některé vlastnosti jsou dynamické pro několik prvků. V případě, že zjistíte, že hodnota je jiná a dynamicky se mění, zvažte použití By.xpath () nebo By.cssSelector (), což jsou spolehlivější, ale složitější způsoby.
- Někdy to může být také problém s čekáním, tj. Webový ovladač spustil váš kód ještě před úplným načtením stránky atd.
- Přidejte čekání před findElement () pomocí implicitního nebo explicitního čekání.
souhrn
- Níže uvedená tabulka shrnuje příkazy pro přístup ke každému typu prvku diskutovanému výše
Živel | Příkaz | Popis |
---|---|---|
Zaškrtávací políčko, přepínač | klikněte () | slouží k zapnutí / vypnutí prvku |