前言
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>))
|
预览截屏
保存截屏为文件
<filename>.png
:文件名
1
| image.save("<filename>.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技术学习
知乎——一人二狗流浪记