Python 有趣的模块之pynupt ——通过pynput控制鼠标和键盘
文章目录
1️⃣简介
2️⃣鼠标控制与移动
from pynput import mouse # 导入mouse模块
m = mouse.Controller() # 创建一个鼠标
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) # 双击(左键)
- 🍭鼠标滚轮:
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️⃣键盘控制与输入
from pynput import keyboard # 导入keyboard模块
k = keyboard.Controller() # 创建一个键盘
k.press('a') # 按下a
k.release('a') # 松开a
🌟注意:引号内可以是任意字符包括汉字,但只能是单个。后续会教大家输入一句话。
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') # 按下a
k.release('a') # 松开a
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!')
4️⃣结语📢
🎁打开软件代码分享:https://blink.csdn.net/details/1511416
🎁微信发送信息代码分享: https://blink.csdn.net/details/1511454