python PyAutoGUI 使用
pip install pyautogui
import pyautogui
pyautogui.size()
pyautogui.position()
鼠标
- To 是绝对坐标
- Rel 或者 不带 To 是相对坐标
pyautogui.moveTo(x=None, y=None, duration=0.0)
pyautogui.dragTo(x=None, y=None, duration=0.0, button=PRIMARY)
click(x=None, y=None, clicks=1, interval=0.0, button=PRIMARY, duration=0.0)
- doubleClick
- tripleClick
mouseDown
mouseUp
scroll
键盘
typewrite
press(keystr, presses=1, interval=0.0)
hotkey
KEYBOARD_KEYS
keyDown
keyUp
截屏
pyautogui.screenshot(r’C:\Users\pc\Desktop\test.png’, region=(x, y, width, height))
通过图片匹配获取点击位置
pyautogui.center(pyautogui.locateOnScreen(‘图片路径’, grayscale=True))
pyautogui.locateCenterOnScreen()
解决图片匹配不到的问题:
- 使用 opencv 的来提高识别率
pip install opencv-python
- 调低匹配函数 confidence 参数(识别准确度)
confidence = 0.9|0.8
等,confidence 越小,定位的精度会下降,但更容易匹配到图片。 - 转换为灰度匹配
grayscale=True
会使图像和屏幕截图中的颜色去饱和,可以避免由显示器饱和度不同导致的图像定位失败。 - region 参数缩小匹配范围
(x,y,width,height)
,找图会更快,也避免其他区域图像的干扰 - 多图定位:同一图像存在不同的状态,如 icon 在不同场景下可能有不同的显示效果,可以把不同显示效果的多张图片归为一个事件,对多张图进行循环查找,定位一张图就可以对整个事件进行定位。
import pyautogui
#循环找图,找到就返回图像中心点,没找到就打印'没找到'
def imgs_locate(args):
for i in range(len(args)):
r = pyautogui.locateCenterOnScreen(arg[i])
if r !== None:
return r
else:
pass
# print('没找到')
#测试
print(imgs_locate(['images/test.png','images/test1.png'])
其他相关
中文输入 使用赋值粘贴
pip install pyperclip
copy(“str”) 修改剪切板内容
pyautogui.hotkey(“Ctrl”, “v”)
获取日期字符串
datetime.datetime.now().strftime(‘%Y-%m-%d’)
内容会不断更新,欢迎批评指正。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· winform 绘制太阳,地球,月球 运作规律
· 上周热点回顾(3.3-3.9)
2021-06-02 HTML5 代码规范
2021-06-02 CSS float浮动属性 消除浮动