Välj radioknapp och markeraBox in Selenium
⚡ Smart sammanfattning
Välj radioknapp och markeraBox in Selenium behandlar WebDriver-teknikerna för att automatisera två av de vanligaste formulärkontrollerna. Den här handledningen förklarar hur metoderna click() och isSelected() växlar mellan alternativ och kryssrutor, och guidar genom hur man arbetar Java kod och delar felsökningstips för ömtåliga lokaliseringsanordningar.

Radioknapp in Selenium
Radioknappar slås på med hjälp av click() metod, precis som alla andra WebElement i SeleniumEftersom endast ett alternativ i en radiogrupp kan vara aktivt åt gången, avmarkeras det första automatiskt om du klickar på ett andra alternativ.
Använda https://demo.guru99.com/test/radio.html som en övningssida, observera att radio1.click() väljer alternativknappen ”Alternativ 1”. Ringer radio2.click() väljer sedan "Alternativ 2" medan "Alternativ 1" lämnas omarkerat.
Hur man markerar en kryssruta i Selenium
TogglAtt markera eller avmarkera en kryssruta görs också med hjälp av click() metod. Koden nedan klickar två gånger på Facebooks kryssruta "Håll mig inloggad" och skriver ut SANT när kryssrutan är aktiverad och FALSKT när den är avaktiverad.
Ocuco-landskapet isSelected() Metoden används för att bekräfta om en kryssruta är aktiverad eller avaktiverad – en viktig påstående vid validering av formulärets tillstånd i testfall.
Här är en annan exempelsida: https://demo.guru99.com/test/radio.html.
Komplett Code Exempelvis
Här är den kompletta fungerande koden som växlar mellan både radioknappar och kryssrutan för persistent-login på 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();
}
}
Felsökning
Om du stöter på NoSuchElementException När man söker efter element betyder det att elementet inte fanns när WebDriver öppnade sidan. Använd checklistan nedan för att snabbt återställa:
- Kontrollera din positionerare igen med FirePath eller Inspect Element i Chrome.
- Bekräfta att värdet du använde i koden matchar elementets aktuella värde på sidan.
- Vissa element har dynamiska attribut, liknande de du kan se när du välj en rullgardinsmeny i Selenium webbdrivrutinI dessa fall, föredra
By.xpath()orBy.cssSelector(), som är mer tillförlitliga men något mer komplexa. - Ibland är problemet timing – WebDriver körde din kod innan sidan slutfördes läsning.
- Lägg till en väntetid före
findElement()använda implicita eller explicita väntetider för att ge elementet tid att renderas.




