Wählen Sie das Optionsfeld und aktivieren SieBox in Selenium
⚡ Intelligente Zusammenfassung
Wählen Sie das Optionsfeld und aktivieren SieBox in Selenium Dieses Tutorial behandelt die WebDriver-Techniken zur Automatisierung zweier gängiger Formularsteuerelemente. Es erklärt, wie die Methoden `click()` und `isSelected()` Optionsfelder und Kontrollkästchen umschalten und führt Schritt für Schritt durch die Funktionsweise. Java Code und gibt Tipps zur Fehlerbehebung bei empfindlichen Ortungsgeräten.
Optionsfeld ein Selenium
Optionsfelder werden mithilfe der click() Methode, genau wie jedes andere WebElement in SeleniumDa in einer Optionsgruppe immer nur eine Option gleichzeitig aktiv sein kann, wird durch Anklicken einer zweiten Option die erste automatisch abgewählt.
Die Verwendung von https://demo.guru99.com/test/radio.html Beachten Sie als Übungsseite Folgendes: radio1.click() wählt die Optionsschaltfläche „Option1“ aus. Anruf radio2.click() wählt dann „Option2“ aus, während „Option1“ nicht ausgewählt bleibt.
So wählen Sie ein Kontrollkästchen aus in Selenium
TogglDas Ein- oder Ausschalten einer Checkbox erfolgt ebenfalls über die click() Methode. Der unten stehende Code klickt zweimal auf das Facebook-Kontrollkästchen „Angemeldet bleiben“ und gibt TRUE aus, wenn das Kontrollkästchen aktiviert ist, und FALSE, wenn es deaktiviert ist.
Das isSelected() Mit dieser Methode wird überprüft, ob ein Kontrollkästchen ein- oder ausgeschaltet ist – eine wichtige Aussage bei der Validierung des Formularstatus in Testfällen.
Hier ist eine weitere Beispielseite: https://demo.guru99.com/test/radio.html.
Komplett Code Beispiel
Hier ist der vollständige, funktionierende Code, der sowohl die Optionsfelder als auch das Kontrollkästchen für die dauerhafte Facebook-Anmeldung umschaltet.
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();
}
}
Problemlösung
Wenn Sie begegnen NoSuchElementException Wenn beim Suchen von Elementen das Problem auftritt, bedeutet dies, dass das Element zum Zeitpunkt des Seitenzugriffs durch den WebDriver nicht vorhanden war. Nutzen Sie die folgende Checkliste, um das Problem schnell zu beheben:
- Überprüfen Sie Ihren Locator erneut mit FirePath oder der Funktion „Element untersuchen“ in Chrome.
- Vergewissern Sie sich, dass der im Code verwendete Wert mit dem aktuellen Wert des Elements auf der Seite übereinstimmt.
- Manche Elemente verfügen über dynamische Attribute, ähnlich wie man sie beispielsweise sieht, wenn man Wählen Sie eine Dropdown-Liste aus in Selenium WebTreiberIn diesen Fällen ist Folgendes zu bevorzugen:
By.xpath()orBy.cssSelector(), die zwar zuverlässiger, aber etwas komplexer sind. - Manchmal liegt das Problem am Timing – der WebDriver hat Ihren Code ausgeführt, bevor die Seite vollständig geladen war.
- Füge eine Wartezeit hinzu, bevor
findElement()durch implizite oder explizite Wartezeiten, um dem Element Zeit zum Rendern zu geben.





