前言
Python3代码实现控制键鼠
下载依赖
引入依赖
控制鼠标指针
查看指针当前位置坐标
移动鼠标指针位置
<x>:鼠标指针横坐标
<y>:鼠标指针纵坐标
<num>:执行一次控制所用的时间,单位秒,默认为0.1
1
| pyautogui.moveTo(<x>, <y>, <num>)
|
鼠标左键单机
鼠标右键单机
1
| pyautogui.click(button='right')
|
鼠标左键双击
鼠标拖拽
<x>:拖拽终点横坐标
<y>:拖拽终点纵坐标
left:使用左键拖拽
1
| pyautogui.dragTo(<x>, <y>, <num>, button='left')
|
控制键盘按键
控制键盘输入
<value>:想要模拟的键盘按键(数字、字母或特殊按键)
1
| pyautogui.typewrite("<value>", <num>)
|
执行热键
1 2 3
| pyautogui.hotkey('command', 'c')
pyautogui.hotkey('command', 'shift', 't')
|
按键代码
| 模拟的按键(WIN) |
模拟的按键(MAC) |
代码 |
| 回车键 |
- |
enter、\n |
| - |
return键 |
return、\n |
| esc键 |
- |
esc |
| 左右shift键 |
- |
shiftleft、shiftright |
| 左右alt键 |
左右option键 |
altleft、altright |
| 左右ctrl键 |
- |
ctrlleft、ctrlright |
| tab键 |
- |
tab、\t |
| backspace键 |
- |
backspace |
| - |
delete键 |
delete |
| 翻页键 |
- |
pageup、pagedown |
| 开头结尾键 |
- |
home、end |
| F1~F12键 |
- |
f1~`f12` |
| pause键 |
- |
pause |
| 锁定键 |
- |
capslock、numlock、scrolllock |
| 插入键 |
- |
insert |
| 截屏键 |
- |
printscreen |
| 左右win键 |
- |
winleft、winright |
| - |
command键 |
command |
控制滚轮
<num>:小于0表示向下滚动
截屏
截取当前屏幕
1
| image = pyautogui.screenshot()
|
获取截屏中指定位置的RGBA颜色
<x>:横坐标
<y>:纵坐标
1
| rgba = image.getpixel((<x>, <y>))
|
配合鼠标获取鼠标当前位置的颜色
1 2
| x, y = pyautogui.position() rgba = image.getpixel((<x>, <y>))
|
预览截屏
保存截屏为文件
<file>.png:文件名
1
| image.save("<file>.png")
|
踩坑
- 报错:
TypeError: '<' not supported between instances of 'str' and 'int'
原因
解决问题
- 手动修改源码
/opt/homebrew/lib/python3.11/site-packages/pyscreeze/__init__.py第527行,将if tuple(PIL__version__) < (6, 2, 1):改为if False:
1
| if tuple(PIL__version__) < (6, 2, 1):
|
完成
参考文献
CSDN——哈喽哈嘿哈
知乎——阿牛
CSDN文库
CSDN——IT技术学习
知乎——一人二狗流浪记