python模块pyautogui

一:前置操作

  • 自动防故障
    pyautogui.FAILSAFE = False # 默认为True,这项功能意味着:当鼠标的指针在屏幕的最左上方,程序会报错;目的是为了防止程序无法停止
  • 停顿功能
    pyautogui.PAUSE = 1 # 所有pyautogui的指令都要暂停一秒;其他指令不会停顿;这样做,可以防止键盘鼠标操作太快;
  • 点是否在屏幕上
    pyautogui.onScreen(x, y) # 结果为true

二:鼠标操作

  • 屏幕分辨率,鼠标位置
    pyautogui.size() # 返回元组
    pyautogui.position()
  • 鼠标移动
    pyautogui.moveTo(100,300,duration=1) # 过程用时1秒
    pyautogui.moveRel(50, 0, duration=0.25) # 从当前位置,右移50像素
  • 鼠标点击
    pyautogui.click(10, 20, 2, 0.25, button='left') # 通用方法,参数:坐标 点击次数,点击时间间隔,点击左右中键,移动到坐标时间等
    pyautogui.doubleClick() # 当前位置左击两下,参数:坐标 点击时间间隔,点击左右中键,移动到坐标时间等
    `pyautogui.mouseDown() mouseUp leftClick rightClick middleClick # 鼠标按下 鼠标松开 左击 右击 中击
  • 鼠标拖拽
    pyautogui.dragTo(100, 200, button='left') # 参数:坐标 点击左右中键,移动到坐标时间等
    pyautogui.dragRel(0, -60, duration=0.2)
  • 鼠标滚轮
    pyautogui.scroll(clicks=10, x=None, y=None) # 先移动到(100,100)再向上滚动10格

三:键盘操作

pyautogui.typewrite('Hello world!', interval=0.0) # 每次输入间隔0.25秒,输入Hello world!
pyautogui.press('enter') # 按下并松开(轻敲)回车键, 参数可以是列表['left', 'left', 'left', 'left']
pyautogui.hotkey('ctrl', 'v') # 组合按键(Ctrl+V)
pyautogui.keyDown('shift') keyUp pyautogui.KEYBOARD_KEYS 按键名称列表

四:弹窗处理

  • 提示弹窗
    pyautogui.alert(text='要开始程序么?', title='请求框', button='OK') # 点击按钮或者关闭窗口都返回button的值。
  • 选择弹窗
    pyautogui.confirm(text='', title='', buttons=['OK', 'Cancel']) # OK和Cancel按钮的消息弹窗,返回点击按钮的值,关闭窗口返回None(或者Cancel)
  • 输入弹窗
    pyautogui.prompt(text='', title='', default='') # 返回输入的值(按ok)或者None (按cancel)
    pyautogui.password(text='', title='', default='', mask='*') # 同上,输入显示为*

五:图像处理

  • 截屏
    pyautogui.screenshot(r'C:\screenshot.png', region=(0, 0, 300, 400)) # imageFilename=None, region=None,返回PIL.Image.Image
  • 取色
    pix = pyautogui.pixel(220, 200) # 获取坐标(220,200)所在屏幕点的RGB颜色,返回三个元素的元组
  • 点匹配色
    pyautogui.pixelMatchesColor(100, 200, (255, 255, 245), tolerance=10) # tolerance参数红、绿、蓝误差范围 返回True或者False
  • 找图
    pyautogui.locateOnScreen(r'C:\screenshot.png') # 返回 Box(left=0, top=0, width=300, height=400),可以用pyautogui.center(a)返回中心坐标
    x, y = pyautogui.locateCenterOnScreen(r'C:\screenshot.png') # 取得图中心坐标
    pyautogui.locateAllOnScreen(r'C:\screenshot.png')) # 返回Box对象列表

六:窗口操作

Window 参数是窗口句柄
getActiveWindow
getActiveWindowTitle
getWindowsAt
getWindowsWithTitle
getAllWindows
getAllTitles

posted @   越自律越自由  阅读(2578)  评论(0编辑  收藏  举报
编辑推荐:
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· C++代码改造为UTF-8编码问题的总结
阅读排行:
· 实操Deepseek接入个人知识库
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· 【.NET】调用本地 Deepseek 模型
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
· 上周热点回顾(2.17-2.23)
点击右上角即可分享
微信分享提示