Hoe u een keuzerondje selecteert en aanvinktBox in Selenium

Keuzerondje in Selenium

Ook keuzerondjes kunnen worden ingeschakeld met behulp van de click()-methode.

gebruik https://demo.guru99.com/test/radio.html voor oefening, zie dat radio1.click() de radioknop “Option1” inschakelt. radio2.click() schakelt de radioknop “Option2” in, waardoor “Option1” niet geselecteerd blijft.

Keuzerondje In Selenium

Hoe u een selectievakje selecteert in Selenium

TogglHet in-/uitschakelen van een selectievakje gebeurt ook met behulp van de Klik() methode.

De onderstaande code klikt twee keer op het selectievakje 'Houd mij aangemeld' van Facebook en geeft vervolgens het resultaat weer als TRUE als het is ingeschakeld, en FALSE als het is uitgeschakeld.

Selecteer selectievakje in Selenium

Selecteer selectievakje in Selenium

De isSelected()-methode wordt gebruikt om te weten of het selectievakje is in- of uitgeschakeld.

Hier is nog een voorbeeld: https://demo.guru99.com/test/radio.html

Selecteer selectievakje in Selenium

Volledige code

Hier is de volledige werkende code

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();		
        		
    }		
}

Troubleshooting

Als u NoSuchElementException() tegenkomt tijdens het zoeken naar elementen, betekent dit dat het element niet op de pagina is gevonden op het moment dat het webstuurprogramma de pagina heeft geopend.

  1. Controleer uw locator opnieuw met Firepath of Inspect Element in Chrome.
  2. Controleer nu of de waarde die u in de code heeft gebruikt, anders is dan die voor het element in Firepath.
  3. Sommige eigenschappen zijn dynamisch voor enkele elementen. Als u merkt dat de waarde anders is en dynamisch verandert, overweeg dan om By.xpath() of By.cssSelector() te gebruiken. Dit zijn betrouwbaardere maar complexere manieren.
  4. Soms kan het ook een wachtprobleem zijn, dat wil zeggen dat het webstuurprogramma uw code uitvoert nog voordat de pagina volledig is geladen, enz.
  5. Voeg een wachttijd toe vóór findElement() met behulp van impliciete of expliciete wachttijden.

Samenvatting

  • De onderstaande tabel vat de opdrachten samen om toegang te krijgen tot elk type element dat hierboven is besproken
Element commando Beschrijving
Check Box, Radio knop Klik() wordt gebruikt om het element aan/uit te zetten