Computer >> Máy Tính >  >> Lập trình >> Python

Cách điều khiển chuột và bàn phím của bạn bằng thư viện pynput trong Python

Giới thiệu

pynput thư viện cho phép bạn điều khiển và giám sát / nghe các thiết bị đầu vào của mình như bàn phím và chuột.

pynput.mouse cho phép bạn điều khiển và giám sát chuột, trong khi pynput.keyboard cho phép bạn điều khiển và giám sát bàn phím.

Trong bài viết này, chúng tôi sẽ di chuyển con trỏ đến một vị trí cụ thể, tự động hóa các lần nhấp và mô phỏng các lần nhấn phím từ bàn phím.

Không cần phải làm gì thêm, hãy bắt đầu.

Bắt đầu

Kể từ pynput mô-đun không được đóng gói bằng Python, bạn sẽ phải tải xuống và cài đặt theo cách thủ công bằng trình quản lý gói pip.

Để thực hiện việc này, hãy khởi chạy thiết bị đầu cuối của bạn và sử dụng lệnh bên dưới.

pip install pynput

Khi thư viện đã được tải xuống và cài đặt thành công, bạn đã sẵn sàng nhập các mô-đun khác nhau của nó vào tập lệnh Python của mình.

Vì chúng ta sẽ nhập các mô-đun khác nhau cho cả bàn phím và chuột, chúng ta sẽ thảo luận về các câu lệnh nhập sau.

Điều khiển chuột

Để điều khiển và mô phỏng chuột của bạn bằng Python, bạn phải nhập mô-đun chuột từ thư viện pynput. Vì chúng tôi cũng sẽ mô phỏng các nhấp chuột và chuyển động, chúng tôi sẽ nhập chúng cùng với mô-đun.

from pynput.mouse import Button, Controller

Đầu tiên, chúng ta sẽ sử dụng phương thức Controller () để di chuyển chuột quanh màn hình.

mouse = Controller()

Bây giờ, nếu bạn muốn di chuyển chuột đến bất kỳ vị trí nào trên màn hình, bạn chỉ cần cung cấp tọa độ của nó.

mouse.position = (50,60)

Nếu bạn muốn xem con chuột của mình đã di chuyển đến đâu, bạn có thể in nó.

print('Current mouse position −> {0}'.format(mouse.position))

Nếu bạn muốn di chuyển chuột so với vị trí hiện tại của nó, hãy sử dụng chức năng di chuyển.

mouse.move(30,15)

Nếu bạn muốn mô phỏng các lần nhấn nút,

mouse.press(Button.left)
mouse.release(Button.left)
mouse.press(Button.right)
mouse.release(Button.right)

Đối với nhấp đúp, hãy sử dụng

mouse.click(Button.left, 2)

Bạn thậm chí có thể mô phỏng cuộn bằng pynput,

mouse.scroll(0,2)

Thao tác này sẽ cuộn xuống hai bước, tọa độ x được sử dụng để điều hướng cuộn từ trái sang phải và tọa độ y cho từ trên xuống dưới.

Ví dụ

from pynput.mouse import Button, Controller
mouse = Controller()
mouse.position = (50,60)
print('Current mouse position −> {0}'.format(mouse.position))
mouse.move(30,15)
mouse.press(Button.left)
mouse.release(Button.left)
mouse.press(Button.right)
mouse.release(Button.right)
mouse.click(Button.left, 2)
mouse.scroll(0,2)

Sử dụng các phương pháp trên, bạn có thể mô phỏng các hình vẽ trên sơn bằng hình học tọa độ cơ bản.

Điều khiển bàn phím

Đầu tiên, chúng tôi nhập các mô-đun và chức năng cần thiết. Trong mô-đun bàn phím trong thư viện pynput, chúng tôi sẽ sử dụng các chức năng Khóa và Bộ điều khiển.

From pynput.keyboard import Key, Controller

Chúng tôi sẽ sử dụng phương thức Bộ điều khiển để điều khiển Bàn phím và mô phỏng các lần nhấn phím.

keyboard = Controller()

Bây giờ, để mô phỏng các thao tác gõ phím, chúng ta có các phương thức nhấn và thả

keyboard.press('a')
keyboard.release('a')

Điều này hoạt động cho tất cả các bảng chữ cái, bao gồm cả chữ hoa. Đối với chữ hoa, bạn chỉ cần sử dụng “A” thay vì “a”.

Bạn cũng có thể mô phỏng các lần nhấn phím khác như ctrl, alt, space, v.v..

keyboard.press(Key.space)
keyboard.release(Key.space)
keyboard.press(Key.ctrl)
keyboard.release(Key.ctrl)

Nếu bạn muốn mô phỏng nhập câu hoặc từ cùng một lúc, bạn có thể sử dụng chức năng nhập.

keyboard.type('Hello World!!')

Và về cơ bản đó là cách bạn điều khiển hoặc mô phỏng thiết bị bàn phím trên Python.

Ví dụ

from pynput.keyboard import Key, Controller
keyboard = Controller()
keyboard.press('a')
keyboard.release('a')
keyboard.press(Key.space)
keyboard.release(Key.space)
keyboard.press(Key.ctrl)
keyboard.release(Key.ctrl)
keyboard.type('Hello World!!')

Kết luận

Giờ đây, bạn biết cách mô phỏng thiết bị nhập bàn phím và chuột bằng thư viện pynput của Python.

Bằng cách sử dụng này, bạn có thể xây dựng các bot tự động thực hiện các hành động nhấp chuột trong trò chơi nhấp chuột, xây dựng một bot spam gửi nhiều dạng tin nhắn khác nhau cùng một lúc. Các ứng dụng khá vô hạn vì bạn có thể xây dựng bất kỳ loại công cụ tự động hóa nào bằng phương pháp này.

Dự án mini SpamBot - https://github.com/SVijayB/Spam−botz

Nếu bạn muốn đọc thêm về pynput và khám phá nhiều chức năng khác của nó, bạn có thể xem tài liệu chính thức của nó tại -

https://pynput.readthedocs.io/en/latest/index.html.