Š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į.
- Dar kartą patikrinkite lokatorių naudodami „Firepath“ arba „Chrome“ tikrinti elementą.
- Patikrinkite, ar kode naudojama vertė skiriasi nuo „Firepath“ elemento vertės.
- 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 ().
- Kartais tai gali būti ir laukimo problema, ty žiniatinklio tvarkyklė įvykdė jūsų kodą dar prieš pilnai įkeliant puslapį ir t. T.
- 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ą |