路线图

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坐标进行点击
  • 新增截图功能,使其能够捕获特定窗口而非全屏画面。