Cách chọn giá trị từ DropDown bằng Selenium Webdriver

Trong hướng dẫn này, chúng ta sẽ học cách xử lý DropDown trong Selenium và Multiple Select Operations.

Chọn class trong Selenium

Chọn Class trong Selenium là một phương pháp sử dụng để triển khai thẻ HTML SELECT. Thẻ chọn html cung cấp các phương thức trợ giúp để chọn và bỏ chọn các phần tử. class Select là một class bình thường nên từ khóa New được sử dụng để tạo đối tượng của nó và nó chỉ định vị trí phần tử web.

Chọn Tùy chọn từ Drop-Down Box

Sau đây là quy trình từng bước về cách chọn giá trị từ menu drop-down trong Selenium:

Trước khi xử lý trình đơn drop-down trong Selenium và kiểm soát các Drop-Down Box, chúng ta phải thực hiện hai việc sau:

  1. Nhập package org.openqa.selenium.support.ui.Select
  2. Khởi tạo Drop-Down Box dưới dạng một đối tượng, Chọn trong Selenium WebDriver

Ví dụ, hãy truy cập trang Đăng ký của Mercury Tours ( http://demo.guru99.com/test/newtours/register.php ) và để ý Drop-Down Box “Quốc gia” ở đó.  

Bước 1

Nhập package “Chọn”.

Bước 2

Khai báo phần tử drop-down như một thể hiện của class Chọn. Trong ví dụ bên dưới, chúng tôi đặt tên cho phiên bản này là “drpCountry”.

Bước 3

Bây giờ chúng ta có thể bắt đầu kiểm soát “drpCountry” bằng cách sử dụng bất kỳ phương pháp Chọn nào có sẵn để chọn menu drop-down trong Selenium. Mã mẫu bên dưới sẽ chọn tùy chọn “ANTARCTICA.”

Chọn các mục trong nhiều phần tử CHỌN

Chúng ta cũng có thể sử dụng phương thức selectByVibleText () để chọn nhiều tùy chọn trong một phần tử nhiều CHỌN. Ví dụ: chúng tôi sẽ lấy https://jsbin.com/osebed/2 làm URL cơ sở. Nó chứa một Drop-Down Box cho phép nhiều lựa chọn cùng một lúc.

Đoạn mã dưới đây sẽ chọn hai tùy chọn đầu tiên bằng cách sử dụng phương thức selectByVbrokenText ().

Chọn phương pháp

Sau đây là các phương pháp phổ biến nhất được sử dụng trong danh sách drop-down của Selenium.

Phương phápMô tả
selectByVibleText ()deselectByVosystemText () Ví dụ: Cách chọn Option từ DropDown bằng Selenium WebdriverChọn / bỏ chọn tùy chọn hiển thị văn bản phù hợp với tham số.Tham số : Văn bản được hiển thị chính xác của một tùy chọn cụ thể
selectByValue ()deselectByValue () Ví dụ: Cách chọn Option từ DropDown bằng Selenium WebdriverChọn / bỏ chọn tùy chọn có thuộc tính “giá trị” khớp với tham số được chỉ định.Tham số : giá trị của thuộc tính “value”Hãy nhớ rằng không phải tất cả các tùy chọn drop-down đều có cùng văn bản và “giá trị”, như trong ví dụ bên dưới.(hình dưới )  
selectByIndex ()deselectByIndex () Ví dụ: Cách chọn Option từ DropDown bằng Selenium Webdriver  Chọn / bỏ chọn tùy chọn tại chỉ mục đã cho.Tham số : chỉ số của tùy chọn được chọn.
isMultiple () Ví dụ: Cách chọn Option từ DropDown bằng Selenium Webdriver  Trả về TRUE nếu phần tử drop-down cho phép nhiều lựa chọn cùng một lúc; FALSE nếu ngược lại.Không cần tham số
deselectAll () Ví dụ: Cách chọn Option từ DropDown bằng Selenium Webdriver  Xóa tất cả các mục đã chọn. Điều này chỉ hợp lệ khi phần tử drop-down hỗ trợ nhiều lựa chọn.Không cần tham số

Đây là mã hoàn chỉnh

package newpackage;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.support.ui.Select;
import org.openqa.selenium.By;

public class accessDropDown {
 public static void main(String[] args) { 
		System.setProperty("webdriver.gecko.driver","C:\\geckodriver.exe");
	    String baseURL = "http://demo.guru99.com/test/newtours/register.php";
	    WebDriver driver = new FirefoxDriver();
		driver.get(baseURL);

		Select drpCountry = new Select(driver.findElement(By.name("country")));
		drpCountry.selectByVisibleText("ANTARCTICA");

		driver.get("http://jsbin.com/osebed/2");
		Select fruits = new Select(driver.findElement(By.id("fruits")));
		fruits.selectByVisibleText("Banana");
		fruits.selectByIndex(1);
 }
}

Tóm lược

Thành phầnYêu cầuMô tả
Drop-Down BoxselectByVibleText () / deselectByVosystemText ()chọn / bỏ chọn một tùy chọn theo văn bản hiển thị của nó
selectByValue () / deselectByValue ()chọn / bỏ chọn một tùy chọn theo giá trị của thuộc tính “giá trị” của nó
selectByIndex () / deselectByIndex ()chọn / bỏ chọn một tùy chọn theo chỉ mục của nó
isMultiple ()trả về TRUE nếu phần tử drop-down cho phép nhiều lựa chọn cùng một lúc; FALSE nếu khác
deselectAll()bỏ chọn tất cả các tùy chọn đã chọn trước đó

Để kiểm soát các Drop-Down Box, trước tiên bạn phải nhập package org.openqa.selenium.support.ui.Select và sau đó tạo một phiên bản Chọn.

Back to top button