Hogyan válasszuk ki a rádiógombot és ellenőrizzükBox in Selenium
Rádió gomb be Selenium
A rádiógombokat is be lehet kapcsolni a click() metódussal.
<p></p> https://demo.guru99.com/test/radio.html gyakorláshoz lásd, hogy a radio1.click() az „Option1” választógombra kapcsol. A radio2.click() bekapcsolja az „Option2” választógombot, és az „Option1” nincs kiválasztva.
Hogyan jelöljük be a jelölőnégyzetet Selenium
TogglA jelölőnégyzet be- és kikapcsolása szintén a gombbal történik kattints() módszer.
Az alábbi kód kétszer rákattint a Facebook „Maradj bejelentkezve” jelölőnégyzetre, majd az eredményt TRUE-ként adja ki, ha be van kapcsolva, és FALSE-ként, ha ki van kapcsolva.
Az isSelected() metódus annak megállapítására szolgál, hogy a jelölőnégyzet be vagy ki van-e kapcsolva.
Itt egy másik példa: https://demo.guru99.com/test/radio.html
Teljes kód
Itt van a teljes működő kód
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(); } }
Hibaelhárítás
Ha az elemek keresése közben a NoSuchElementException() funkcióval találkozik, az azt jelenti, hogy az elem nem található az oldalon azon a ponton, ahol a web-illesztőprogram elérte az oldalt.
- Ellenőrizze újra a lokátort a Firepath vagy az Inspect Element segítségével a Chrome-ban.
- Ellenőrizze, hogy a kódban használt érték eltér-e a Firepath elemének értékétől.
- Egyes tulajdonságok néhány elemnél dinamikusak. Ha úgy találja, hogy az érték eltér, és dinamikusan változik, fontolja meg a By.xpath() vagy a By.cssSelector() használatát, amelyek megbízhatóbbak, de összetettebbek.
- Néha ez egy várakozási probléma is lehet, azaz a web-illesztőprogram végrehajtotta a kódot még az oldal teljes betöltése előtt stb.
- Adjon hozzá egy várakozást a findElement() előtt implicit vagy explicit várakozással.
Összegzésként
- Az alábbi táblázat összefoglalja az egyes fent tárgyalt elemtípusok eléréséhez szükséges parancsokat
Elem | parancs | Leírás |
---|---|---|
Jelölje be Box, Rádiógomb | kattints() | az elem be- és kikapcsolására szolgál |