Python 有趣的模块之pynupt ——通过pynput控制鼠标和键盘

文章目录

  • Python 有趣的模块之pynupt ——通过pynput控制鼠标和键盘
    • 1️⃣简介
    • 2️⃣鼠标控制与移动
    • 3️⃣键盘控制与输入
    • 4️⃣结语

1️⃣简介

学会控制鼠标和键盘是实现自动化的捷径!

pynput是第三方库,所以在使用pynput之前需要下载pynput包。

  • 下载方式1:在终端输入pip install pynput下载包
  • 下载方式2:进入pypi官网:https://pypi.org➡️搜索pynput➡️选择版本➡️点击pip install pynput
  • 下载方式3:点击底部Python ackages➡️搜索pynput➡️点击Install




2️⃣鼠标控制与移动

⭐第一步:为了控制和模拟鼠标移动,所以需要从pynput中导入mouse模块。

from pynput import mouse # 导入mouse模块

⭐第二步:使用Controller()方法。

m = mouse.Controller()# 创建一个鼠标

⭐第三步:移动鼠标在屏幕上的位置。

屏幕坐标以(0,0)为基准点位于屏幕的左上角,往右移动x轴坐标增加,往左移动x轴坐标减小。往下移动y轴坐标增加,往上移动y轴坐标减小。

可以使用print()打印鼠标的位置。


1.绝对位置:

m.position = (800,600) # 将鼠标移动到指定位置print(f'鼠标位置为:{m.position}') # 打印鼠标位置

2.相对位置:

m.move(100,100)# 以(0,0)或上一个position的位置为准print(f'鼠标位置为:{m.position}') #打印鼠标位置

第四步:模拟鼠标按键:

  1. 单击左键:

方式一:

m.press(mouse.Button.left)# 按下鼠标左键(单击)m.release(mouse.Button.left)# 松开鼠标左键

补:使用press+position+release可实现拖拽功能

注意:使用press按下后,必须要使用release松开。否则相对于现实中操作鼠标一直按下左键不松手

方式二:

m.click(mouse.Button.left, 1) # 单击鼠标左键

区别:直接完成了一次点击松手操作。

  1. 单击右键:

方式一:

m.press(mouse.Button.right)# 按下鼠标右键(单击)m.release(mouse.Button.right)# 松开鼠标右键

方式二:

m.click(mouse.Button.right, 1) # 单击鼠标右键
  1. 双击:
m.click(mouse.Button.left, 2) # 双击(左键)
  1. 鼠标滚轮:

类似于上述将的position,x轴坐标增加往右移动,x轴坐标减小往左移动。y轴坐标增加往下移动,y轴坐标减小往上移动。

x轴使用较少,绝大部分页面不会出现左右滚动条。

m.scroll(0,2) # 向下移动

完整代码⬇️:

from pynput import mouse # 导入mouse模块m = mouse.Controller() # 创建一个鼠标m.position = (800,600) # 将鼠标移动到指定位置print(f'鼠标位置为:{m.position}')# 打印鼠标位置m.move(100,100) # 相对于(800,600)在移动(100,100)print(f'鼠标位置为:{m.position}')# 打印鼠标位置# 方式一# m.press(mouse.Button.left)# 按下鼠标左键(单击)# m.release(mouse.Button.left)# 松开鼠标左键# 方式二m.click(mouse.Button.left, 1) # 单击鼠标左键m.press(mouse.Button.right)# 按下鼠标右键(单击)m.release(mouse.Button.right)# 松开鼠标右键m.click(mouse.Button.right, 1) # 单击鼠标右键# 双击m.click(mouse.Button.left, 2) # 双击(左键)m.scroll(0,2) # x 左右滚动, y 上



3️⃣键盘控制与输入

⭐第一步:为了键盘输入,所以需要从pynput中导入keyboard模块。

from pynput import keyboard # 导入keyboard模块

⭐第二步:使用Controller()方法。

k = keyboard.Controller() # 创建一个键盘

⭐第三步:模拟按键

k.press('a')# 按下ak.release('a')# 松开a

注意:引号内可以是任意字符包括汉字,但只能是单个。后续会教大家输入一句话。

⭐第四步:按特殊键(空格,shift等)

k.press(keyboard.Key.space) # 按下空格键k.release(keyboard.Key.space) # 松开空格键k.press(keyboard.Key.shift) # 按下shift键k.release(keyboard.Key.shift) # 松开shift键

⭐第五步:输入一句话

k.type('Hello everybody!')

完整代码⬇️:

from pynput import keyboard # 导入keyboard模块k = keyboard.Controller() # 创建一个键盘k.press('a')# 按下ak.release('a')# 松开ak.press(keyboard.Key.space) # 按下空格键k.release(keyboard.Key.space) # 松开空格键k.press(keyboard.Key.shift) # 按下shift键k.release(keyboard.Key.shift) # 松开shift键k.type('Hello everybody!')



4️⃣结语

如果你学会了这些还不知道用pynput来干什么。那我教你可以实现打开应用,自动浏览网页,与女朋友微信聊天等。应用程序是无限的,你可以使用这种方法构建任何类型的自动化工具。

打开软件代码分享:https://blink.csdn.net/details/1511416
微信发送信息代码分享: https://blink.csdn.net/details/1511454