当前位置: 首页 > news >正文

PyAutoGUI 自动化 GUI 操作的 Python 库核心操作命令总结

PyAutoGUI 是一个用于自动化 GUI 操作的 Python 库,支持鼠标、键盘控制和屏幕截图等功能。以下是其核心操作命令的详细总结:

一、基本配置

import pyautogui# 防止操作太快,设置延迟(所有函数生效)
pyautogui.PAUSE = 1  # 延迟1秒# 开启安全模式,鼠标移到左上角会触发异常终止
pyautogui.FAILSAFE = True# 获取屏幕尺寸
screen_width, screen_height = pyautogui.size()

二、鼠标操作

1. 移动鼠标
# 绝对位置移动(x,y为屏幕坐标)
pyautogui.moveTo(x, y, duration=0.5)  # duration为移动时间(秒)# 相对位置移动(相对于当前位置)
pyautogui.moveRel(dx, dy, duration=0.5)  # dx:水平偏移,dy:垂直偏移
2. 点击操作
# 单击(默认左键)
pyautogui.click(x, y, button='left')  # button可选'left'/'right'/'middle'# 双击
pyautogui.doubleClick(x, y)# 右键单击
pyautogui.rightClick(x, y)# 中键单击
pyautogui.middleClick(x, y)# 按下/释放鼠标
pyautogui.mouseDown(button='left')  # 按下
pyautogui.mouseUp(button='left')    # 释放
3. 滚轮操作
pyautogui.scroll(amount)  # 正数向上滚,负数向下滚
4. 获取鼠标位置
x, y = pyautogui.position()  # 返回当前鼠标坐标

三、键盘操作

1. 输入文本
pyautogui.typewrite('Hello World!', interval=0.1)  # interval为字符间隔时间
2. 按键与组合键
# 单个按键
pyautogui.press('enter')  # 按Enter键# 多个按键依次按下
pyautogui.press(['left', 'right', 'enter'])# 按下/释放按键
pyautogui.keyDown('shift')  # 按下Shift
pyautogui.keyUp('shift')    # 释放Shift# 组合键(如Ctrl+C)
pyautogui.hotkey('ctrl', 'c')  # 等价于按下Ctrl再按C,然后释放
3. 特殊按键对应表

常用特殊键:enteresctabspacebackspacedeleteupdownleftrightctrlaltshiftwin(Windows键)、command(Mac)等。

四、屏幕截图与图像识别

1. 屏幕截图
# 截取全屏并保存
screenshot = pyautogui.screenshot('screenshot.png')# 获取截图中某个像素的颜色
pixel_color = pyautogui.pixel(x, y)  # 返回(r, g, b)元组# 验证某个位置的颜色是否符合预期
pyautogui.pixelMatchesColor(x, y, (r, g, b), tolerance=10)  # tolerance为容差
2. 图像定位
# 查找图像在屏幕上的位置(需提供目标图像路径)
location = pyautogui.locateOnScreen('target.png', confidence=0.8)  # confidence为匹配度(0-1)
# 返回值:(left, top, width, height),未找到返回None# 查找图像中心坐标
x, y = pyautogui.center(location)

五、消息框

# 提示框
pyautogui.alert('这是一个提示框', title='提示', button='确定')# 确认框(返回用户点击的按钮文本)
response = pyautogui.confirm('是否继续?', buttons=['是', '否'])# 输入框(返回用户输入的文本)
text = pyautogui.prompt('请输入内容:')# 密码框(输入内容会被隐藏)
password = pyautogui.password('请输入密码:')

六、其他功能

# 获取当前活跃窗口信息(需配合pygetwindow库)
import pygetwindow as gw
active_window = gw.getActiveWindow()
print(active_window.title)  # 窗口标题
print(active_window.size)   # 窗口尺寸# 等待指定图像出现(超时后返回None)
location = pyautogui.locateOnScreen('target.png', minSearchTime=10)  # 最多等待10秒

注意事项

  1. 操作前建议先运行 pyautogui.position() 确认坐标位置。
  2. 图像识别可能受屏幕分辨率、缩放比例影响,可调整 confidence 参数(需安装 opencv-python 支持)。
  3. 复杂操作建议结合 time.sleep() 控制流程,避免操作冲突。

以上涵盖了 PyAutoGUI 的核心功能,更多细节可参考官方文档:PyAutoGUI Documentation。


文章转载自:

http://t3jXRVyL.nypgb.cn
http://2LfF0o32.nypgb.cn
http://PFuHEUl5.nypgb.cn
http://8EKxi8yF.nypgb.cn
http://sJMRVFeh.nypgb.cn
http://A7RK7LUQ.nypgb.cn
http://wRJ9Odf3.nypgb.cn
http://7WeiQwUh.nypgb.cn
http://K5Ux1uCh.nypgb.cn
http://oHaTl1gA.nypgb.cn
http://vuyUXNIM.nypgb.cn
http://4ZB0qh1S.nypgb.cn
http://dFjNiqMb.nypgb.cn
http://DqYEyExN.nypgb.cn
http://4dZHbV5O.nypgb.cn
http://h3L4V9xY.nypgb.cn
http://latROofr.nypgb.cn
http://7LgdrrO5.nypgb.cn
http://et1FeQf2.nypgb.cn
http://oqFinkZ4.nypgb.cn
http://qwuedkKr.nypgb.cn
http://03bTw4a3.nypgb.cn
http://wPdVypcD.nypgb.cn
http://BeX47YGw.nypgb.cn
http://kGbTkbTK.nypgb.cn
http://lvpK3IBY.nypgb.cn
http://WdZZuCij.nypgb.cn
http://cA55z2fb.nypgb.cn
http://BvCiC8Yj.nypgb.cn
http://7FfeAaMd.nypgb.cn
http://www.dtcms.com/a/386563.html

相关文章:

  • 【Uni-App+SSM 宠物项目实战】Day15:购物车添加
  • AI大模型学习知识体系(1)
  • 重要:Java25正式发布(长期支持版)!
  • OneTerm开源堡垒机实战(二):快速部署与基本使用
  • 网络问题排查
  • linux之套接字Socket
  • 【Uni-App+SSM 宠物项目实战】Day14:商家服务列表
  • MCP 协议客户端与服务端python demo
  • 【Nginx开荒攻略】从命令到实战:Nginx服务启动、停止与重载完全指南
  • Ubuntu系统中在线安装MySQL到指定目录
  • C++工程实战入门笔记16-智能指针
  • 【深度学习新浪潮】什么是太空算力中心?
  • 容器化部署之dockercompose08
  • 卷积神经网络搭建实战(一)——torch云端的MNIST手写数字识别(全解二)
  • [deepseek]Visual Studio 2022创建和使用DLL教程
  • k8s节点网络失联后会发生什么
  • 3分钟掌握C++/Lua双向通信:一个高性能内核 + N个动态脚本
  • Spring MVC小点
  • SpringBoot的自动配置原理
  • 动力电池组半自动生产线:效率与灵活性的平衡之道|深圳比斯特自动化
  • 前端开发编辑器有哪些?常用前端开发编辑器推荐、前端开发编辑器对比与最佳实践分析
  • 【Linux】自动化构建工具——make/Makefile
  • Playwright MCP浏览器自动化教程
  • Linux 内存管理章节十四:多核世界的交通规则:深入Linux内存屏障与并发控制
  • .NET Core 中生成 JWT(JSON Web Token)
  • webRTc 为何深受直播实现的青睐?
  • iOS App 卡顿与性能瓶颈排查实战 如何定位CPU内存GPU帧率问题、优化耗电与网络延迟(uni-app开发性能优化全流程指南)
  • Tomcat的基本配置
  • Delphi6中实现PDF文件打印功能
  • 工作笔记-----基于FreeRTOS的lwIP网络任接收过程,从MAC至协议栈