Wählen Sie das Optionsfeld und aktivieren SieBox in Selenium
Optionsfeld ein Selenium
Auch Optionsfelder können mithilfe der Methode click() aktiviert werden.
Die richtigen https://demo.guru99.com/test/radio.html Zur Übung sehen Sie sich an, dass radio1.click() das Optionsfeld „Option1“ aktiviert. radio2.click() aktiviert das Optionsfeld „Option2“ und lässt „Option1“ unausgewählt.
So aktivieren Sie ein Kontrollkästchen in Selenium
TogglDas Aktivieren/Deaktivieren eines Kontrollkästchens erfolgt ebenfalls über die klicken() Methode.
Der folgende Code klickt zweimal auf das Kontrollkästchen „Angemeldet bleiben“ von Facebook und gibt das Ergebnis dann als TRUE aus, wenn es aktiviert ist, und als FALSE, wenn es deaktiviert ist.
Mit der Methode isSelected() können Sie feststellen, ob das Kontrollkästchen aktiviert oder deaktiviert ist.
Hier ist ein weiteres Beispiel: https://demo.guru99.com/test/radio.html
Code vervollständigen
Hier ist der vollständige Arbeitscode
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(); } }
Problemlösung
Wenn Sie beim Suchen von Elementen auf NoSuchElementException() stoßen, bedeutet dies, dass das Element zu dem Zeitpunkt, an dem der Webtreiber auf die Seite zugegriffen hat, nicht auf der Seite gefunden wurde.
- Überprüfen Sie Ihren Locator erneut mit Firepath oder Inspect Element in Chrome.
- Überprüfen Sie jetzt, ob sich der Wert, den Sie im Code verwendet haben, von dem für das Element in Firepath unterscheidet.
- Einige Eigenschaften sind für einige Elemente dynamisch. Falls Sie feststellen, dass der Wert anders ist und sich dynamisch ändert, sollten Sie By.xpath() oder By.cssSelector() verwenden, die zuverlässigere, aber komplexere Methoden sind.
- Manchmal kann es sich auch um ein Warteproblem handeln, z. B. weil der Webtreiber Ihren Code bereits ausgeführt hat, bevor die Seite vollständig geladen wurde usw.
- Fügen Sie vor findElement() eine Wartezeit hinzu, indem Sie implizite oder explizite Wartezeiten verwenden.
Zusammenfassung
- Die folgende Tabelle fasst die Befehle für den Zugriff auf die oben beschriebenen Elementtypen zusammen.
Element | Befehl | Beschreibung |
---|---|---|
Einblick in das Box, Radio knopf | klicken() | wird zum Ein- und Ausschalten des Elements verwendet |