Tự động click chuột bằng Python¶
Nếu mình cần điều khiển chuột trong khi lại bận tay hoặc phân tâm việc khác thì nên ứng phó bằng cách nào? Nếu những thao tác chuột cứ lặp đi lặp lại quá đơn điệu thì mình nên làm sao cho đỡ chán và hiệu quả hơn?
Có ít nhất hai phương tiện để giải quyết.
Đó là, hoặc AutoIT cho truyền thống, hoặc Python cho đúng trend.
Khái quát¶
AutoIt v3 là ngôn ngữ kịch bản (scripting language, có thể hiểu là thiên về thông dịch hơn biên dịch) tương tự như BASIC, dùng để tự động hóa các thao tác trên Windows.
Tương ứng như vậy trong Python, ta sử dụng PyAutoGUI, là thư viện cho phép điều khiển chuột và bàn phím cũng như thực hiện những thao tác tự động khác.
Cài đặt¶
Tải tập tin cài đặt tại https://www.autoitscript.com/site/autoit/downloads/
Khai báo thư viện¶
Trong Python, ngoài thư viện PyAutoGUI, ta khai báo thêm thư viện time để dùng hàm ngưng đọng thời gian sleep()
.
Ngược lại trong AutoIT, ta sử dụng hàm có sẵn luôn mà không cần khai báo gì thêm.
Khai báo biến¶
Các biến được sử dụng gồm:
- Tọa độ
x
vày
của vị trí click chuột - Số lần click chuột
click_number
-
Thời gian tạm ngừng giữa hai lần click.
Trong Python, hàm
sleep()
tính bằng giây; còn trong AutoIT, hàmSleep()
tính theo milli-giây.
Gọi hàm click tự động¶
Trong Python, ta giả vờ xử lý cồng kềnh hơn bằng try ... except
.
Dùng vòng lặp để chạy hàm click tự động. Mỗi lần click, in ra console thông báo về vị trí click.
Một vài khác biệt¶
AutoIT | Python | |
---|---|---|
Đơn vị thời gian | milli-giây | giây |
Tọa độ x và y |
Theo kích thước 100% của Display trong Settings | Theo thực tế của màn hình hiện hành |
Con trỏ chuột | Nhìn thấy được chuột di chuyển trên màn hình | Chỉ thấy biến mất rồi xuất hiện ở vị trí mới |
Toàn bộ chương trình¶¶
Code đầy đủ được đặt tại: