I denne opplæringen vil vi se hvordan du identifiserer følgende skjemaelementer
- Radioknapp
- Merk av
Radioknapp
Radioknapper kan også slås på ved å bruke metoden click ().
Bruk http://demo.guru99.com/test/radio.html for øvelse, se at radio1.click () slår på alternativknappen "Option1". radio2.click () slår på alternativknappen "Option2" og lar "Option1" ikke være valgt.
Merk av
Å slå en avkrysningsrute av / på gjøres også ved å klikke () -metoden.
Koden nedenfor vil klikke på Facebook avmerkingsboksen "Hold meg logget på" to ganger og deretter sende resultatet som SANT når det er slått på, og FALSK hvis det er slått av.
isSelected () -metoden brukes til å vite om avmerkingsboksen er slått på eller av.
Her er et annet eksempel: http://demo.guru99.com/test/radio.html
Komplett kode
Her er den komplette arbeidskoden
importer org.openqa.selenium.By;importer org.openqa.selenium.WebDriver;importer org.openqa.selenium.chrome.ChromeDriver;importer org.openqa.selenium. *;offentlig klasseskjema {public static void main (String [] args) {// erklæring og instantiering av objekter / variablerSystem.setProperty ("webdriver.chrome.driver", "G: \\ chromedriver.exe");WebDriver driver = ny 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"));// Radioknapp1 er valgtradio1.click ();System.out.println ("alternativknapp alternativ 1 valgt");// Radio Button1 er avmarkert og Radio Button2 er valgtradio2.click ();System.out.println ("Alternativ knapp 2 valgt");// Velge avkrysningsruteWebElement option1 = driver.findElement (By.id ("vfb-6-0"));// Dette vil slå av i avmerkingsboksenoption1.click ();// Sjekk om avmerkingsboksen er slått påhvis (option1.isSelected ()) {System.out.println ("Avkrysningsboksen er slått på");} annet {System.out.println ("Avmerkingsboksen er slått av");}// Velge avkrysningsrute og bruke isSelected Methoddriver.get ("http://demo.guru99.com/test/facebook.html");WebElement chkFBPersist = driver.findElement (By.id ("persist_box"));for (int i = 0; i <2; i ++) {chkFBPersist.click ();System.out.println ("Facebook vedvarer avmerkingsboksen Status er -" + chkFBPersist.isSelected ());}//driver.close ();}}
Feilsøking
Hvis du støter på NoSuchElementException () mens du finner elementer, betyr det at elementet ikke finnes på siden på det tidspunktet webdriveren åpnet siden.
- Sjekk locatoren din igjen ved hjelp av Firepath eller Inspect Element i Chrome.
- Sjekk om verdien du brukte i koden, er forskjellig fra verdien for elementet i Firepath nå.
- Noen egenskaper er dynamiske for få elementer. I tilfelle du finner ut at verdien er forskjellig og endrer seg dynamisk, bør du vurdere å bruke By.xpath () eller By.cssSelector () som er mer pålitelige, men komplekse måter.
- Noen ganger kan det også være et venteproblem, dvs. at webdriveren utførte koden din allerede før siden ble lastet helt inn osv.
- Legg til en ventetid før findElement () ved hjelp av implisitte eller eksplisitte venter.
Sammendrag
- Tabellen nedenfor oppsummerer kommandoene for å få tilgang til hver type element diskutert ovenfor
Element | Kommando | Beskrivelse |
---|---|---|
Avkrysningsrute, radioknapp | klikk () | brukes til å slå elementet på / av |