Odaberite radio gumb i označiteBox in Selenium
⚡ Pametni sažetak
Odaberite radio gumb i označiteBox in Selenium Obrađuje WebDriver tehnike za automatizaciju dviju najčešćih kontrola obrazaca. Ovaj vodič objašnjava kako metode click() i isSelected() prebacuju radio opcije i potvrdne okvire te vodi kroz rad s njima. Java kod i dijeli savjete za rješavanje problema s osjetljivim lokatorima.

Radio gumb unutra Selenium
Radio gumbi se uključuju pomoću click() metoda, baš kao i bilo koji drugi WebElement u SeleniumBudući da samo jedna opcija u radio grupi može biti aktivna istovremeno, klikom na drugu opciju automatski se poništava odabir prve.
Korištenje https://demo.guru99.com/test/radio.html kao stranicu za vježbu, imajte na umu da radio1.click() odabire radio gumb „Opcija1“. Pozivanje radio2.click() zatim odabire „Opcija2“, a ostavlja „Opcija1“ neodabranu.
Kako odabrati potvrdni okvir u Selenium
TogglUključivanje ili isključivanje potvrdnog okvira također se vrši pomoću click() metoda. Donji kod dva puta klikne na Facebookov potvrdni okvir "Ostani prijavljen" i ispisuje TRUE kada je potvrdni okvir uključen, a FALSE kada je isključen.
The isSelected() Metoda se koristi za potvrdu je li potvrdni okvir uključen ili isključen - ključna tvrdnja pri validaciji stanja obrasca u testnim slučajevima.
Evo još jednog primjera stranice: https://demo.guru99.com/test/radio.html.
potpun Code Primjer
Evo kompletnog radnog koda koji uključuje/isključuje oba radio gumba i potvrdni okvir za persist-login na Facebook.
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 and 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 Button 1 is selected
radio1.click();
System.out.println("Radio Button Option 1 Selected");
// Radio Button 1 is de-selected and Radio Button 2 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 checkbox
option1.click();
// Check whether the checkbox is toggled on
if (option1.isSelected()) {
System.out.println("Checkbox is Toggled On");
} else {
System.out.println("Checkbox is Toggled Off");
}
// Selecting a Checkbox and using the 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();
}
}
Rješavanje problema
Ako naiđete NoSuchElementException Prilikom pronalaska elemenata, to znači da element nije bio prisutan u trenutku kada je WebDriver pristupio stranici. Koristite donju kontrolnu listu za brzi oporavak:
- Ponovno provjerite svoj lokator pomoću FirePatha ili Inspect Elementa u Chromeu.
- Potvrdite da vrijednost koju ste koristili u kodu odgovara trenutnoj vrijednosti elementa na stranici.
- Neki elementi imaju dinamičke atribute, slično onima koje možete vidjeti kada odaberite padajući izbornik u Selenium webdriverU tim slučajevima, preferirajte
By.xpath()orBy.cssSelector(), koji su pouzdaniji, ali nešto složeniji. - Ponekad je problem u vremenu - WebDriver je izvršio vaš kod prije nego što se stranica učitala.
- Dodajte čekanje prije
findElement()korištenje implicitnih ili eksplicitnih čekanja kako bi se elementu dalo vremena za renderiranje.




