Velg radioknapp og merk avBox in Selenium
Radioknapp inn Selenium
Radioknapper kan også slås på ved å bruke click()-metoden.
Ved hjelp av https://demo.guru99.com/test/radio.html for øvelse, se at radio1.click() slår på alternativ1-knappen. radio2.click() slår på alternativknappen "Alternativ2" og lar "Alternativ1" være umerket.
Hvordan velge avmerkingsboks i Selenium
Toggling av en avkrysningsboks på/av gjøres også ved å bruke klikk() metoden.
Koden nedenfor vil klikke på Facebooks "Hold meg pålogget"-avmerkingsboks to ganger og deretter vise resultatet som TRUE når det er slått på, og FALSE hvis det er slått av.
isSelected()-metoden brukes til å vite om avmerkingsboksen er slått på eller av.
Her er et annet eksempel: https://demo.guru99.com/test/radio.html
Komplett kode
Her er den komplette arbeidskoden
import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; import org.openqa.selenium.*; public class Form { public static void main(String[] args) { // declaration and instantiation of objects/variables System.setProperty("webdriver.chrome.driver","G:\\chromedriver.exe"); WebDriver driver = new ChromeDriver(); driver.get("https://demo.guru99.com/test/radio.html"); WebElement radio1 = driver.findElement(By.id("vfb-7-1")); WebElement radio2 = driver.findElement(By.id("vfb-7-2")); //Radio Button1 is selected radio1.click(); System.out.println("Radio Button Option 1 Selected"); //Radio Button1 is de-selected and Radio Button2 is selected radio2.click(); System.out.println("Radio Button Option 2 Selected"); // Selecting CheckBox WebElement option1 = driver.findElement(By.id("vfb-6-0")); // This will Toggle the Check box option1.click(); // Check whether the Check box is toggled on if (option1.isSelected()) { System.out.println("Checkbox is Toggled On"); } else { System.out.println("Checkbox is Toggled Off"); } //Selecting Checkbox and using isSelected Method driver.get("https://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 Persists Checkbox Status is - "+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 lokatoren din igjen ved å bruke Firepath eller Inspect Element i Chrome.
- Sjekk om verdien du brukte i koden er forskjellig fra den for elementet i Firepath nå.
- Noen egenskaper er dynamiske for få elementer. Hvis du finner ut at verdien er annerledes og endres 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, det vil si at webdriveren utførte koden din selv før siden ble fullstendig lastet, osv.
- Legg til en ventetid før findElement() ved å bruke implisitte eller eksplisitte ventetider.
Sammendrag
- Tabellen nedenfor oppsummerer kommandoene for å få tilgang til hver type element diskutert ovenfor
Element | Kommando | Tekniske beskrivelser |
---|---|---|
Trykk her Box, Radioknapp | klikk() | brukes til å slå elementet på/av |