In diesem Tutorial erfahren Sie, wie Sie die folgenden Formularelemente identifizieren
- Radio knopf
- Kontrollkästchen
Radio knopf
Auch Optionsfelder können mit der click () -Methode aktiviert werden.
Wenn Sie http://demo.guru99.com/test/radio.html zum Üben verwenden, sehen Sie, dass radio1.click () das Optionsfeld "Option1" umschaltet. radio2.click () schaltet das Optionsfeld "Option2" um und lässt "Option1" deaktiviert.
Kontrollkästchen
Das Ein- und Ausschalten eines Kontrollkästchens erfolgt ebenfalls mit der click () -Methode.
Der folgende Code klickt zweimal auf das Kontrollkästchen "Angemeldet bleiben" von Facebook und gibt das Ergebnis beim Aktivieren als WAHR und beim Deaktivieren als FALSCH aus.
Die Methode isSelected () wird verwendet, um festzustellen, ob das Kontrollkästchen aktiviert oder deaktiviert ist.
Hier ist ein weiteres Beispiel: http://demo.guru99.com/test/radio.html
Vollständiger Code
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. *;öffentliches Klassenformular {public static void main (String [] args) {// Deklaration und Instanziierung von Objekten / VariablenSystem.setProperty ("webdriver.chrome.driver", "G: \\ chromedriver.exe");WebDriver-Treiber = neuer ChromeDriver ();driver.get ("http://demo.guru99.com/test/radio.html");WebElement radio1 = driver.findElement (By.id ("vfb-7-1"));WebElement radio2 = driver.findElement (By.id ("vfb-7-2"));// Optionsfeld1 ist ausgewähltradio1.click ();System.out.println ("Optionsfeld Option 1 ausgewählt");// Optionsfeld1 ist deaktiviert und Optionsfeld2 ist deaktiviertradio2.click ();System.out.println ("Optionsfeld Option 2 ausgewählt");// CheckBox auswählenWebElement option1 = driver.findElement (By.id ("vfb-6-0"));// Dadurch wird das Kontrollkästchen aktiviertoption1.click ();// Überprüfen Sie, ob das Kontrollkästchen aktiviert istif (option1.isSelected ()) {System.out.println ("Kontrollkästchen ist aktiviert");} else {System.out.println ("Kontrollkästchen ist deaktiviert");}}// Aktivieren Sie das Kontrollkästchen und verwenden Sie die isSelected-Methodedriver.get ("http://demo.guru99.com/test/facebook.html");WebElement chkFBPersist = driver.findElement (By.id ("persist_box"));für (int i = 0; i <2; i ++) {chkFBPersist.click ();System.out.println ("Facebook bleibt bestehen Kontrollkästchen Status ist -" + chkFBPersist.isSelected ());}}//driver.close ();}}}}
Fehlerbehebung
Wenn Sie beim Suchen von Elementen auf NoSuchElementException () stoßen, bedeutet dies, dass das Element an dem Punkt, an dem der Webtreiber auf die Seite zugegriffen hat, nicht auf der Seite gefunden wird.
- Überprüfen Sie Ihren Locator erneut mit Firepath oder Inspect Element in Chrome.
- Überprüfen Sie, ob sich der im Code verwendete Wert von dem für das Element in Firepath unterscheidet.
- Einige Eigenschaften sind für wenige Elemente dynamisch. Wenn Sie feststellen, dass der Wert unterschiedlich ist und sich dynamisch ändert, sollten Sie By.xpath () oder By.cssSelector () verwenden, die zuverlässiger, aber komplexer sind.
- Manchmal kann es auch zu Wartezeiten kommen, dh der Web-Treiber hat Ihren Code ausgeführt, noch bevor die Seite vollständig geladen wurde usw.
- Fügen Sie eine Wartezeit vor findElement () hinzu, indem Sie implizite oder explizite Wartezeiten verwenden.
Zusammenfassung
- In der folgenden Tabelle sind die Befehle für den Zugriff auf die oben beschriebenen Elementtypen zusammengefasst
Element | Befehl | Beschreibung |
---|---|---|
Kontrollkästchen, Optionsfeld | klicken() | Dient zum Ein- und Ausschalten des Elements |