Selenium WebDriver / Java - Mô phỏng chuyển động con người giống như con trỏ
Tôi muốn tự động hóa một tác vụ đơn giản bên trong Trình quản lý quảng cáo của Facebook. Nhiệm vụ này bao gồm việc thiết lập một chiến dịch và tải lên một số quảng cáo. Có thể mất 30 phút con người để làm điều này. Tuy nhiên, họ đang làm điều giống nhau mọi lúc. Thường mắc lỗi. Đó là thứ cần được tự động hóa. Được thực hiện mà không có cảm xúc hoặc sai lầm của con người.
Facebook rất nhạy cảm và tôi không muốn nó cấm tôi vì những lý do sai trái. Vì vậy, tôi cần phải cảm thấy con người. Tôi có thể mất thời gian giữa các lần nhấp chuột. Tuy nhiên, bản thân chuyển động của con trỏ cần phải có cảm giác của con người. Tôi chỉ cần mô phỏng một cú nhấp chuột thật của con người cho các mục đích đạo đức.
Giả sử tôi nhận được một phần tử mà tôi muốn di chuyển con trỏ tới:
WebDriver driver;
// Set file path of chrome driver
System.setProperty("webdriver.chrome.driver", "C:\\chromedriver.exe");
// Create object
ChromeDriver driver = new ChromeDriver(options);
// Go to URL
driver.get("FACEBOOK URL");
// Get element
driver.findElement(By.xpath("//span[contains(text(), 'Setup Campaign')]");
Cách tốt nhất để di chuyển con trỏ của tôi về phía phần tử này như một con người thực sự muốn là gì?
Một con người thực sự đầu tiên sẽ di chuyển con chuột. Không chỉ nhấp vào phần tử
Họ sẽ di chuyển chuột / con trỏ từ từ. Có thể mất tới 500-1000 mili giây. Chắc chắn không phải ngay lập tức.
Họ sẽ di chuyển chuột / con trỏ theo kiểu cong. Không chỉ trong một đường thẳng 100%. Có thể, một cách ngẫu nhiên? Vì vậy, một số yếu tố của sự ngẫu nhiên có thể cần thiết?
Tôi khá mới đối với Selenium, vì vậy bất kỳ đầu vào nào cũng sẽ được đánh giá rất cao.
Tôi đang viết mã của mình bằng Java :)
Trả lời
WebDriver không sử dụng đầu vào của hệ điều hành; nó giao tiếp trực tiếp với trình duyệt thông qua giao thức http. Nếu bạn muốn mô phỏng giao tiếp giống như một đầu vào chuột 'thực', bạn phải sử dụng giải pháp tự động hóa sử dụng các khung dựa trên hệ điều hành. Trong trường hợp Windows, bạn có thể sử dụng ví dụ:
- https://github.com/FlaUI/FlaUI (đọc https://github.com/FlaUI/FlaUI/wiki/FAQ để có kiến thức về cách định cấu hình Chrome để hiển thị các điều khiển web cho FlaUI)
- https://github.com/microsoft/WinAppDriver