Cách chọn CheckBox và Radio Button trong Selenium WebDriver

Radio button

Các radio button 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 radio button “Option1”. radio2.click () chuyển đổi trên radio button “Option2” và bỏ chọn “Option1”.

Check Box

Bật / tắt Check Box cũng được thực hiện bằng cách sử dụng phương thức click () .

Đoạn code dưới đây sẽ click vào Check Box “Giữ cho tôi đăng click” 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 Check Box đượ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 code

Đây là code làm việc hoàn chỉnh

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(“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 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(“http://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();

    }

}

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.

  1. Kiểm tra lại locator của bạn bằng cách sử dụng Firepath hoặc Kiểm tra phần tử trong Chrome.
  2. Kiểm tra xem giá trị bạn đã sử dụng trong code có khác với giá trị cho phần tử trong Firepath bây giờ hay không.
  3. 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.
  4. Đô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 code của bạn ngay cả trước khi trang được tải hoàn toàn, v.v.
  5. 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ầnYêu cầuSự miêu tả
Check Box, radio buttonclick()được sử dụng để bật / tắt phần tử
Check Also
Close
Back to top button