Nhấp chuột phải và Double Nhấp vào Selenium

⚡ Tóm tắt thông minh

Nhấp chuột phải và Double Nhấp vào Selenium Các thao tác chuột được tự động hóa thông qua lớp Actions. Hướng dẫn này minh họa cả hai thao tác với ví dụ hoạt động. Java mã nguồn, các kịch bản kiểm thử thực tế và các phương pháp thúc đẩy chúng. Selenium WebDriver.

  • 🖱️ Phương pháp cốt lõi: Lớp Actions cung cấp phương thức contextClick() cho phép nhấp chuột phải và doubleClick() cho phép nhấp đúp chuột vào bất kỳ WebElement nào.
  • 🧭 Mô hình quy trình làm việc: Xác định vị trí phần tử, khởi tạo Actions với trình điều khiển, gọi hành động và nối tiếp hàm perform() để thực thi.
  • 🧪 Tình huống đã được kiểm thử: Cả hai ví dụ đều nhắm đến demo.guru99.com/test/simple_context_menu.html để có được kết quả đã được xác minh và lặp lại.
  • 🆚 Phân biệt hành động: Nhấp chuột phải sẽ mở menu ngữ cảnh; nhấp đúp chuột sẽ kích hoạt các thay đổi trạng thái như cảnh báo hoặc chỉnh sửa.
  • 🤖 Tích hợp AI: Các thiết bị định vị tự phục hồi và hỗ trợ bởi trí tuệ nhân tạo. Selenium Các framework giúp giảm thiểu sự không ổn định trong quá trình thao tác nhấp chuột.

Nhấp chuột phải và Double Nhấp vào Selenium

Nhấp chuột phải vào Selenium

Hành động nhấp chuột phải vào Selenium WebDriver được thực hiện bằng cách sử dụng lớp Actions. Thao tác này cũng được gọi là Context Click. Các tham số được định nghĩa trước contextClick() Phương thức của lớp Actions thực hiện thao tác nhấp chuột phải. Dưới đây là cú pháp cơ bản.

Actions actions = new Actions(driver);
WebElement elementLocator = driver.findElement(By.id("ID"));
actions.contextClick(elementLocator).perform();

Cách nhấp chuột phải vào Selenium

Tình huống dưới đây khởi động một GuruTrang demo 99, thực hiện thao tác nhấp chuột phải và chọn một tùy chọn từ menu ngữ cảnh hiện ra.

Kịch bản thử nghiệm:

  1. Phóng: https://demo.guru99.com/test/simple_context_menu.html
  2. Nhấp chuột phải vào nút "Nhấp chuột phải vào tôi"
  3. Nhấp vào liên kết Chỉnh sửa trên menu hiển thị.
  4. Nhấp vào OK trên thông báo
  5. Đóng trình duyệt

Mã Code:

package test;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.interactions.Actions;

public class ContextClick {
    public static void main(String[] args) throws InterruptedException {
        WebDriver driver;
        System.setProperty("webdriver.chrome.driver", "X://chromedriver.exe");
        driver = new ChromeDriver();

        driver.get("https://demo.guru99.com/test/simple_context_menu.html");
        driver.manage().window().maximize();

        Actions action = new Actions(driver);
        WebElement link = driver.findElement(By.cssSelector(".context-menu-one"));
        action.contextClick(link).perform();

        WebElement element = driver.findElement(By.cssSelector(".context-menu-icon-copy"));
        element.click();
    }
}

Kết quả: Menu ngữ cảnh hiện ra và tùy chọn Chỉnh sửa được chọn.

Nhấp chuột phải vào Selenium

Double Nhấp vào Selenium

Theo cùng một mô hình dựa trên hành động, Double Nhấp vào Selenium WebDriver sử dụng các định nghĩa được xác định trước. doubleClick() Phương thức. Lớp Actions là lớp hỗ trợ tiêu chuẩn cho các thao tác kết hợp giữa chuột và bàn phím như Nhấp chuột phải, Kéo và Thả, và Di chuột.

Actions actions = new Actions(driver);
WebElement elementLocator = driver.findElement(By.id("ID"));
actions.doubleClick(elementLocator).perform();

Luồng thực thi như sau:

  • Khởi tạo một đối tượng Actions bằng cách sử dụng thể hiện của trình điều khiển.
  • Xác định vị trí phần tử mục tiêu bằng findElement.
  • Gọi số doubleClick() và chuỗi perform() để thực thi.

Làm thế nào để Double Nhấp vào Selenium

Tình huống tiếp theo minh họa thao tác nhấp đúp chuột hoàn toàn, kích hoạt một... JavaCảnh báo trong tập lệnh và xác nhận nó bằng lập trình.

Kịch bản thử nghiệm:

Mã Code:

package test;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.interactions.Actions;
import org.openqa.selenium.Alert;

public class DoubleClickDemo {
    public static void main(String[] args) throws InterruptedException {
        WebDriver driver;
        System.setProperty("webdriver.chrome.driver", "X://chromedriver.exe");
        driver = new ChromeDriver();

        driver.get("https://demo.guru99.com/test/simple_context_menu.html");
        driver.manage().window().maximize();

        Actions action = new Actions(driver);
        WebElement link = driver.findElement(By.xpath("//button[text()='Double-Click Me To See Alert']"));
        action.doubleClick(link).perform();

        Alert alert = driver.switchTo().alert();
        System.out.println("Alert Text\n" + alert.getText());
        alert.accept();
    }
}

Kết quả: Thông báo hiện lên và nội dung thông báo được in ra. Eclipse giao diện điều khiển.

Double Nhấp vào Selenium cảnh báo

Double Nhấp vào đầu ra bảng điều khiển

Câu Hỏi Thường Gặp

WebElement.click() chỉ kích hoạt sự kiện nhấp chuột trái. Nhấp chuột phải và nhấp đúp chuột là các sự kiện chuột phức hợp, yêu cầu lớp Actions phải xâu chuỗi và gửi thông qua phương thức perform().

Đúng vậy. Phương thức contextClick() mô phỏng thao tác nhấp chuột phải thực sự và mở menu ngữ cảnh của ứng dụng. Hai thuật ngữ này thường được sử dụng thay thế cho nhau trong ngôn ngữ lập trình. Selenium tài liệu.

Lớp Actions xếp các sự kiện vào hàng đợi. Nếu không có phương thức perform(), các bước được nối tiếp sẽ không bao giờ được thực thi. Phương thức perform() sẽ xóa hàng đợi và thực thi từng hành động trong hàng đợi theo thứ tự.

Có, JavaScript Executor có thể kích hoạt sự kiện nhấp đúp chuột, nhưng nó bỏ qua các sự kiện thực sự của trình duyệt. Phương pháp sử dụng Actions được khuyến nghị. Selenium tiêu chuẩn.

Đúng vậy. Nhấp chuột phải và nhấp đúp chuột thông qua Actions hoạt động trong Chrome ở chế độ headless. Firefox với điều kiện API Hành động của W3C được hỗ trợ. Selenium Cả 4 trình điều khiển đều hỗ trợ đầy đủ tính năng này.

Lớp Hành động đã đến Selenium WebDriver 2.0 nằm bên trong org.openqa.selenium.interactions và được lưu giữ trong Selenium Phiên bản 3 và 4 có hỗ trợ W3C Actions.

Công cụ AI và Selenium lựa chọn thay thế Áp dụng các bộ định vị tự phục hồi, thích ứng với các thay đổi của phần tử trong quá trình nhấp chuột, giảm thiểu các lỗi không ổn định do ID động hoặc bố cục thay đổi.

Đúng vậy. Trợ lý mã hóa AI có thể chuyển đổi một kịch bản tiếng Anh thông thường thành... Selenium Java or Python Đoạn mã sử dụng contextClick() và doubleClick(), đồng thời đề xuất các bộ định vị và thời gian chờ mạnh mẽ hơn.

Tóm tắt bài viết này với: