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
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· [.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)