Kaip pasirinkti langelį ir radijo mygtuką „Selenium WebDriver“

Turinys:

Anonim

Šioje pamokoje pamatysime, kaip atpažinti šiuos formos elementus

  • Radijo mygtukas
  • Žymimasis langelis

Radijo mygtukas

Radijo mygtukus taip pat galima įjungti naudojant paspaudimo () metodą.

Naudodamiesi praktika naudodamiesi http://demo.guru99.com/test/radio.html, patikrinkite, ar radio1.click () perjungia radijo mygtuką „Option1“. radio2.click () perjungia radijo mygtuką „Option2“ ir palieka „Option1“ nepažymėtą.

Žymimasis langelis

Pažymėjimo langelio įjungimas / išjungimas taip pat atliekamas naudojant paspaudimo () metodą.

Žemiau pateiktas kodas dukart spustelės „Facebook“ žymimąjį laukelį „Laikyti mane prisijungusį“, tada rezultatas bus pateiktas kaip TIKRA, kai jis įjungtas, ir FALSE, jei jis perjungtas.

isSelected () metodas naudojamas norint sužinoti, ar žymimasis laukelis įjungtas, ar išjungtas.

Štai dar vienas pavyzdys: http://demo.guru99.com/test/radio.html

Užbaigti kodą

Čia yra visas darbinis kodas

importuoti org.openqa.selenium.By;importuoti org.openqa.selenium.WebDriver;importuoti org.openqa.selenium.chrome.ChromeDriver;importuoti org.openqa.selenium. *;viešosios klasės forma {public static void main (String [] argumentuoja) {// objektų / kintamųjų deklaravimas ir egzemplioriusSystem.setProperty ("webdriver.chrome.driver", "G: \\ chromedriver.exe");„WebDriver“ tvarkyklė = nauja „ChromeDriver“ ();driver.get ("http://demo.guru99.com/test/radio.html");„WebElement“ radijas1 = driver.findElement (By.id („vfb-7-1“));„WebElement radio2“ = driver.findElement (By.id („vfb-7-2“));// Pasirinktas radijo mygtukas1radio1.spustelėkite ();System.out.println („Pasirinkta 1 radijo mygtuko parinktis“);// Panaikintas radijo mygtukas1 ir pasirinktas radijo mygtukas2radio2.spustelėkite ();System.out.println („Pasirinkta 2 radijo mygtuko parinktis“);// Pasirenkant langelį„WebElement“ parinktis1 = driver.findElement (By.id („vfb-6-0“));// Tai perjungs žymės langelįoption1.spustelėkite ();// Patikrinkite, ar žymimasis laukelis įjungtasjei (parinktis1.isPasirinkta ()) {System.out.println ("žymimasis laukelis įjungtas");} Kitas {System.out.println ("žymimasis laukelis yra išjungtas");}// Pažymėti žymimąjį laukelį ir naudoti metodą isSelecteddriver.get ("http://demo.guru99.com/test/facebook.html");„WebElement“ chkFBPersist = driver.findElement (By.id („persist_box“));už (int i = 0; i <2; i ++) {chkFBPersist.click ();System.out.println („Facebook Persists Checkbox Status is -“ + chkFBPersist.isSelected ());}//driver.close ();}}

Problemų sprendimas

Jei ieškodami elementų susiduriate su NoSuchElementException (), tai reiškia, kad elementas nerandamas puslapyje toje vietoje, kurią žiniatinklio tvarkyklė pasiekė puslapį.

  1. Dar kartą patikrinkite lokatorių naudodami „Firepath“ arba „Chrome“ tikrinti elementą.
  2. Patikrinkite, ar kode naudojama vertė skiriasi nuo „Firepath“ elemento vertės.
  3. Kai kurios savybės yra dinamiškos keliems elementams. Jei pastebėsite, kad vertė skiriasi ir keičiasi dinamiškai, apsvarstykite galimybę naudoti patikimesnius, bet sudėtingus būdus By.xpath () arba By.cssSelector ().
  4. Kartais tai gali būti ir laukimo problema, ty žiniatinklio tvarkyklė įvykdė jūsų kodą dar prieš pilnai įkeliant puslapį ir t. T.
  5. Pridėkite laukimą prieš „findElement“ () naudodami numanomą arba aiškų laukimą.

Santrauka

  • Žemiau esančioje lentelėje pateikiamos komandos, skirtos pasiekti kiekvieną aukščiau aptartą elemento tipą
Elementas Komanda apibūdinimas
Pažymėkite langelį, radijo mygtuką spustelėkite () naudojamas įjungti / išjungti elementą