路线图¶
PyAutoGUI计划作为其他Python GUI自动化脚本(如PyUserInput、PyKeyboard、PyMouse、pykey等)的替代品。最终目标是提供与Sikuli相同的功能特性。
目前,PyAutoGUI的主要目标是实现跨平台的鼠标键盘控制并提供简洁的API接口。
未来计划开发的功能(具体版本尚未规划):
- 一个用于确定为何在特定屏幕截图中找不到图像的工具。(这是用户常见的问题来源。)
- 完全兼容树莓派设备。
- "Wave"函数,用于通过轻微晃动鼠标光标来查看鼠标位置。这是一个小型辅助函数。
- locateNear()函数,与其他定位相关的屏幕读取函数类似,不同之处在于它会在屏幕上xy坐标点附近寻找第一个匹配实例。
- 查找所有窗口及其标题的列表。
- 点击相对于窗口的坐标,而非整个屏幕。
- 使在多显示器系统上工作更加便捷。
- GetKeyState() 类型的函数
- 支持在所有平台上设置全局热键,为GUI自动化程序提供便捷的"紧急停止"功能。
- 可选的非阻塞pyautogui调用。
- 键盘的"严格"模式 - 传递无效的键盘按键会引发异常,而不是静默跳过。
- 将keyboardMapping重命名为KEYBOARD_MAPPING
- 能够将png和其他图像文件转换为可直接在源代码中复制/粘贴的字符串,这样就不需要单独分享这些文件给使用pyautogui脚本的用户。
- 测试确保pyautogui在Windows/mac/linux虚拟机中正常运行。
- 一种比较两张图片并高亮显示差异的方法(适用于指出UI变化等情况)
- Window handling features:
- pyautogui.getWindows() # 返回一个将窗口标题映射到窗口ID的字典
- pyautogui.getWindow(str_title_or_int_id) # 返回一个"Win"窗口对象
- win.move(x, y)
- win.resize(宽度, 高度)
- win.maximize()
- win.minimize()
- win.restore()
- win.close()
- win.position() # 返回窗口左上角的(x, y)坐标
- win.moveRel(x=0, y=0) # 相对于窗口左上角的x,y坐标进行相对移动
- win.clickRel(x=0, y=0, clicks=1, interval=0.0, button=’left’) # 相对于窗口左上角的x,y坐标进行点击
- 新增截图功能,使其能够捕获特定窗口而非全屏画面。