Πώς να επιλέξετε το κουμπί και τον έλεγχοBox in Selenium

Κουμπί ραδιοφώνου μέσα Selenium

Μπορείτε επίσης να ενεργοποιήσετε τα κουμπιά ραδιοφώνου χρησιμοποιώντας τη μέθοδο click().

Χρησιμοποιώντας https://demo.guru99.com/test/radio.html για εξάσκηση, δείτε ότι το radio1.click() εναλλάσσει το κουμπί επιλογής "Option1". Το radio2.click() εναλλάσσει το κουμπί επιλογής "Option2" αφήνοντας το "Option1" μη επιλεγμένο.

Κουμπί ραδιοφώνου μέσα Selenium

Πώς να επιλέξετε Πλαίσιο ελέγχου μέσα Selenium

TogglΗ ενεργοποίηση/απενεργοποίηση ενός πλαισίου ελέγχου γίνεται επίσης χρησιμοποιώντας το Κάντε κλικ() μέθοδος.

Ο παρακάτω κωδικός θα κάνει κλικ στο πλαίσιο ελέγχου "Κρατήστε με συνδεδεμένο" του Facebook δύο φορές και, στη συνέχεια, θα εμφανίσει το αποτέλεσμα ως TRUE όταν είναι ενεργοποιημένο και FALSE εάν είναι απενεργοποιημένο.

Επιλέξτε το πλαίσιο ελέγχου In Selenium

Επιλέξτε το πλαίσιο ελέγχου In Selenium

Η μέθοδος isSelected() χρησιμοποιείται για να γνωρίζουμε εάν το πλαίσιο ελέγχου είναι ενεργοποιημένο ή απενεργοποιημένο.

Εδώ είναι ένα άλλο παράδειγμα: https://demo.guru99.com/test/radio.html

Επιλέξτε το πλαίσιο ελέγχου In Selenium

Πλήρης κώδικας

Εδώ είναι ο πλήρης κώδικας εργασίας

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

Αντιμετώπιση προβλημάτων

Εάν συναντήσετε NoSuchElementException() κατά την εύρεση στοιχείων, σημαίνει ότι το στοιχείο δεν βρίσκεται στη σελίδα στο σημείο που το πρόγραμμα οδήγησης Web είχε πρόσβαση στη σελίδα.

  1. Ελέγξτε ξανά τον εντοπιστή σας χρησιμοποιώντας το Firepath ή το Inspect Element στο Chrome.
  2. Ελέγξτε αν η τιμή που χρησιμοποιήσατε στον κώδικα είναι διαφορετική από αυτή για το στοιχείο στο Firepath τώρα.
  3. Ορισμένες ιδιότητες είναι δυναμικές για λίγα στοιχεία. Σε περίπτωση που διαπιστώσετε ότι η τιμή είναι διαφορετική και αλλάζει δυναμικά, σκεφτείτε να χρησιμοποιήσετε By.xpath() ή By.cssSelector() που είναι πιο αξιόπιστοι αλλά πολύπλοκοι τρόποι.
  4. Μερικές φορές, μπορεί να είναι και πρόβλημα αναμονής, π.χ., το πρόγραμμα οδήγησης Web εκτέλεσε τον κώδικά σας ακόμη και πριν ολοκληρωθεί η φόρτωση της σελίδας, κ.λπ.
  5. Προσθέστε μια αναμονή πριν από το findElement() χρησιμοποιώντας σιωπηρές ή ρητές αναμονές.

Σύνοψη

  • Ο παρακάτω πίνακας συνοψίζει τις εντολές για πρόσβαση σε κάθε τύπο στοιχείου που συζητήθηκε παραπάνω
Στοιχείο εντολή Descriptιόν
Έλεγχος Box, Κουμπί ραδιοφώνου Κάντε κλικ() χρησιμοποιείται για την ενεργοποίηση/απενεργοποίηση του στοιχείου