Πώς να επιλέξετε το κουτάκι και το κουμπί ραδιοφώνου στο Selenium WebDriver

Πίνακας περιεχομένων:

Anonim

Σε αυτό το σεμινάριο, θα δούμε πώς να προσδιορίσουμε τα ακόλουθα στοιχεία φόρμας

  • Κουμπί ραδιοφώνου
  • Πλαίσιο ελέγχου

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

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

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

Πλαίσιο ελέγχου

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

Ο παρακάτω κώδικας θα κάνει κλικ στο πλαίσιο ελέγχου "Κρατήστε με συνδεδεμένο" στο Facebook δύο φορές και στη συνέχεια θα εμφανιστεί το αποτέλεσμα ως ΑΛΗΘΕΙΑ όταν είναι ενεργοποιημένο και ΛΑΘΟΣ εάν είναι απενεργοποιημένο.

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

Ακολουθεί ένα άλλο παράδειγμα: http://demo.guru99.com/test/radio.html

Πλήρης κωδικός

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

εισαγωγή org.openqa.selenium.By;εισαγωγή org.openqa.selenium.WebDriver;εισαγωγή org.openqa.selenium.chrome.ChromeDriver;εισαγωγή org.openqa.selenium. *;φόρμα δημόσιας τάξης {Δημόσιο στατικό κενό (String [] args) {// δήλωση και παρουσίαση αντικειμένων / μεταβλητώνSystem.setProperty ("webdriver.chrome.driver", "G: \\ chromedriver.exe");Πρόγραμμα οδήγησης WebDriver = νέο 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"));Το Radio Button1 είναι επιλεγμένοradio1.click ();System.out.println ("Επιλογή κουμπιού ραδιοφώνου 1 επιλεγμένο");// Το Radio Button1 είναι αποεπιλεγμένο και το Radio Button2 έχει επιλεγείradio2.click ();System.out.println ("Επιλογή κουμπιού ραδιοφώνου 2 επιλεγμένο");// Επιλογή πλαισίου ελέγχουΕπιλογή WebElement1 = driver.findElement (By.id ("vfb-6-0"));// Αυτό θα αλλάξει το πλαίσιο ελέγχουεπιλογή1. κλικ ();// Ελέγξτε εάν είναι ενεργοποιημένο το πλαίσιο ελέγχουεάν (option1.isSelected ()) {System.out.println ("Το πλαίσιο ελέγχου είναι ενεργοποιημένο");} αλλιώς {System.out.println ("Το πλαίσιο ελέγχου είναι απενεργοποιημένο");}// Επιλογή πλαισίου ελέγχου και χρήση του isSelected Methoddriver.get ("http://demo.guru99.com/test/facebook.html");WebElement chkFBPersist = driver.findElement (By.id ("persist_box"));για (int i = 0; i <2; i ++) {chkFBPersist.click ();System.out.println ("Η κατάσταση του πλαισίου ελέγχου στο Facebook είναι -" + chkFBPersist.isSelected ());}//driver.close ();}}

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

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

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

Περίληψη

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