Dans ce tutoriel, nous verrons comment identifier les éléments de formulaire suivants
- Bouton radio
- Case à cocher
Bouton radio
Les boutons radio peuvent également être activés en utilisant la méthode click ().
En utilisant http://demo.guru99.com/test/radio.html pour la pratique, voyez que radio1.click () bascule sur le bouton radio "Option1". radio2.click () active le bouton radio "Option2" en laissant "Option1" désélectionné.
Case à cocher
Activer / désactiver une case à cocher se fait également en utilisant la méthode click () .
Le code ci-dessous cliquera deux fois sur la case à cocher "Gardez-moi connecté" de Facebook, puis affichera le résultat comme TRUE lorsqu'il est activé et FALSE s'il est désactivé.
La méthode isSelected () est utilisée pour savoir si la case à cocher est activée ou désactivée.
Voici un autre exemple: http://demo.guru99.com/test/radio.html
Code complet
Voici le code de travail complet
import org.openqa.selenium.By;import org.openqa.selenium.WebDriver;import org.openqa.selenium.chrome.ChromeDriver;import org.openqa.selenium. *;Formulaire de classe publique {public static void main (String [] args) {// déclaration et instanciation d'objets / variablesSystem.setProperty ("webdriver.chrome.driver", "G: \\ chromedriver.exe");Pilote WebDriver = nouveau 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"));// Le bouton radio1 est sélectionnéradio1.click ();System.out.println ("Option de bouton radio 1 sélectionnée");// Le bouton radio1 est désélectionné et le bouton radio2 est sélectionnéradio2.click ();System.out.println ("Option de bouton radio 2 sélectionnée");// Sélection de CheckBoxWebElement option1 = driver.findElement (By.id ("vfb-6-0"));// Cela basculera la case à cocheroption1.click ();// Vérifie si la case à cocher est activéeif (option1.isSelected ()) {System.out.println ("La case à cocher est activée");} autre {System.out.println ("La case à cocher est désactivée");}// Sélection de la case à cocher et utilisation de la méthode isSelecteddriver.get ("http://demo.guru99.com/test/facebook.html");WebElement chkFBPersist = driver.findElement (By.id ("persist_box"));pour (int i = 0; i <2; i ++) {chkFBPersist.click ();System.out.println ("Le statut de la case à cocher Facebook persiste est -" + chkFBPersist.isSelected ());}// pilote.close ();}}
Dépannage
Si vous rencontrez NoSuchElementException () lors de la recherche d'éléments, cela signifie que l'élément n'est pas trouvé dans la page au moment où le pilote Web a accédé à la page.
- Vérifiez à nouveau votre localisateur en utilisant Firepath ou Inspect Element dans Chrome.
- Vérifiez si la valeur que vous avez utilisée dans le code est différente de celle de l'élément dans Firepath maintenant.
- Certaines propriétés sont dynamiques pour quelques éléments. Si vous constatez que la valeur est différente et change dynamiquement, envisagez d'utiliser By.xpath () ou By.cssSelector () qui sont des méthodes plus fiables mais complexes.
- Parfois, cela peut également être un problème d'attente, c'est-à-dire que le pilote Web a exécuté votre code avant même que la page ne soit complètement chargée, etc.
- Ajoutez une attente avant findElement () en utilisant des attentes implicites ou explicites.
Résumé
- Le tableau ci-dessous résume les commandes pour accéder à chaque type d'élément discuté ci-dessus
Élément | Commander | Description |
---|---|---|
Case à cocher, bouton radio | Cliquez sur() | utilisé pour activer / désactiver l'élément |