Trong hướng dẫn này, chúng ta sẽ xem cách xác định các phần tử biểu mẫu sau
- Nút radio
- Hộp kiểm tra
Nút radio
Các nút radio cũng có thể được bật bằng cách sử dụng phương thức click ().
Sử dụng http://demo.guru99.com/test/radio.html để thực hành, hãy xem radio1.click () bật tắt trên nút radio "Option1". radio2.click () chuyển đổi trên nút radio "Option2" và bỏ chọn "Option1".
Hộp kiểm tra
Bật / tắt hộp kiểm cũng được thực hiện bằng cách sử dụng phương thức click () .
Đoạn mã dưới đây sẽ nhấp vào hộp kiểm "Giữ cho tôi đăng nhập" của Facebook hai lần và sau đó xuất ra kết quả là TRUE khi nó được bật và FALSE nếu nó được tắt.
Phương thức isSelected () được sử dụng để biết Hộp kiểm được bật hay tắt.
Đây là một ví dụ khác: http://demo.guru99.com/test/radio.html
Hoàn thành mã
Đây là mã làm việc hoàn chỉnh
nhập org.openqa.selenium.By;nhập org.openqa.selenium.WebDriver;nhập org.openqa.selenium.chrome.ChromeDriver;nhập org.openqa.selenium. *;biểu mẫu lớp công khai {public static void main (String [] args) {// khai báo và khởi tạo đối tượng / biếnSystem.setProperty ("webdriver.chrome.driver", "G: \\ chromedriver.exe");Trình điều khiển WebDriver = mới 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 được chọnradio1.click ();System.out.println ("Đã chọn tùy chọn nút radio 1");// Radio Button1 được bỏ chọn và Radio Button2 được chọnradio2.click ();System.out.println ("Đã chọn tùy chọn nút radio 2");// Chọn CheckBoxWebElement option1 = driver.findElement (By.id ("vfb-6-0"));// Điều này sẽ chuyển đổi hộp kiểmoption1.click ();// Kiểm tra xem hộp Kiểm có được bật hay khôngif (option1.isSelected ()) {System.out.println ("Hộp kiểm được Bật");} khác {System.out.println ("Hộp kiểm được Tắt");}// Chọn Hộp kiểm và sử dụng Phương pháp isSelecteddriver.get ("http://demo.guru99.com/test/facebook.html");WebElement chkFBPersist = driver.findElement (By.id ("Pers_box"));for (int i = 0; i <2; i ++) {chkFBPersist.click ();System.out.println ("Trạng thái hộp kiểm Facebook Persists là -" + chkFBPersist.isSelected ());}//driver.close ();}}
Xử lý sự cố
Nếu bạn gặp NoSuchElementException () trong khi tìm phần tử, điều đó có nghĩa là phần tử không được tìm thấy trong trang tại thời điểm trình điều khiển Web truy cập trang.
- Kiểm tra lại bộ định vị của bạn bằng cách sử dụng Firepath hoặc Kiểm tra phần tử trong Chrome.
- Kiểm tra xem giá trị bạn đã sử dụng trong mã có khác với giá trị cho phần tử trong Firepath bây giờ hay không.
- Một số thuộc tính là động đối với một số phần tử. Trong trường hợp, bạn thấy rằng giá trị khác nhau và đang thay đổi động, hãy xem xét sử dụng By.xpath () hoặc By.cssSelector () là những cách đáng tin cậy hơn nhưng phức tạp hơn.
- Đôi khi, nó cũng có thể là vấn đề chờ đợi, tức là trình điều khiển Web đã thực thi mã của bạn ngay cả trước khi trang được tải hoàn toàn, v.v.
- Thêm một lượt đợi trước findElement () bằng cách sử dụng các lượt đợi ngầm hoặc rõ ràng.
Tóm lược
- Bảng dưới đây tóm tắt các lệnh để truy cập từng loại phần tử được thảo luận ở trên
Thành phần | Chỉ huy | Sự miêu tả |
---|---|---|
Hộp kiểm, Nút radio | nhấp chuột() | được sử dụng để bật / tắt phần tử |