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}') #打印鼠标位置
第四步:模拟鼠标按键:
- 单击左键:
方式一:
m.press(mouse.Button.left)# 按下鼠标左键(单击)m.release(mouse.Button.left)# 松开鼠标左键
补:使用press+position+release可实现拖拽功能
注意:使用press按下后,必须要使用release松开。否则相对于现实中操作鼠标一直按下左键不松手
方式二:
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) # 双击(左键)
- 鼠标滚轮:
类似于上述将的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