利用Python 进行自动化操作: Pyautogui 库

[复制链接]
发表于 2025-6-28 08:01:42 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
目次
1. 前言
2. 安装 PyAutoGUI
3. 常见函数介绍
3.1 鼠标操作
3.2 键盘操作
3.3 截图与图像辨认 
4. 简朴案例
5. 总结


1. 前言

我们常常需要与各种软件和系统交互,而人工操作每每耗时且轻易出错。这时,PyAutoGUI 就可以帮我们解放双手,它是一个强大的 Python 库,能够实现对鼠标和键盘的自动化控制,模仿人类的操作行为,广泛应用于自动化测试、数据采集、重复性任务处置惩罚等场景。本文将深入浅出地介绍 PyAutoGUI 库的常见函数及其应用场景,帮助大家快速掌握这一实用工具。
2. 安装 PyAutoGUI

在开始之前,我们需要先安装 PyAutoGUI 库。打开终端或命令行,输入以下命令:
  1. pip install pyautogui
复制代码
别的,PyAutoGUI 还依赖于 Pillow 库(用于图像处置惩罚),在安装过程中会自动安装。若遇到题目,可手动安装 Pillow:
  1. pip install pillow
复制代码
3. 常见函数介绍

3.1 鼠标操作

获取鼠标位置 
  1. import pyautogui
  2. print(pyautogui.position())  # 输出鼠标当前坐标
复制代码
移动鼠标位置  
moveTo(x, y, duration):将鼠标移动到指定的坐标位置,duration 参数可设置移动的持续时间,使鼠标移动更加天然。
  1. pyautogui.moveTo(100, 200, 2)  # 在 2 秒内将鼠标移动到 (100, 200)
复制代码
moveRel(xOffset,yOffset,duration):相对于当前位置移动鼠标,`xOffset` 和 `yOffset` 分别表现在 x 和 y 方向上的偏移量。
  1. pyautogui.moveRel(50, -30, 1)  # 相对于当前位置向右移动 50,向上移动 30
复制代码
鼠标点击
click(x, y, clicks, interval, button):在指定坐标位置进行点击操作。clicks 表现点击次数,interval 设置连续点击之间的间隔时间,button 可选择 'left'(左键)、'right'(右键)或 'middle'(中键)。
  1. pyautogui.click(300, 400)  # 左键单击 (300, 400)
  2. pyautogui.doubleClick(500, 600)  # 左键双击 (500, 600),等同于 pyautogui.click(500, 600, clicks=2)
  3. pyautogui.rightClick(700, 800)  # 右键单击 (700, 800)
复制代码
3.2 键盘操作

按键操作
press(key):模仿按下并快速开释一个按键,适用于单个按键操作,如 'enter'、'space'、'tab' 等。 
  1. pyautogui.press('enter')  # 模拟按下回车键
  2. pyautogui.press('space')  # 模拟按下空格键
复制代码
keyDown(key) 和 keyUp(key):分别模仿按键按下和开释,常用于需要长按某个键的场景。比方,模仿按住 Shift 键输入大写字母。
  1. pyautogui.keyDown('shift')
  2. pyautogui.press('a')  # 输入大写字母 A
  3. pyautogui.keyUp('shift')
复制代码
输入文本
type(message, interval):模仿键盘输入文本,interval 设置每个字符之间的输入间隔时间,使输入更加安稳。
  1. pyautogui.type('Hello, PyAutoGUI!', interval=0.1)  # 输入文本,字符间隔 0.1 秒
复制代码
3.3 截图与图像辨认 

截图
screenshot(imagePath):截取整个屏幕的截图,并保存到指定的文件路径。 
  1. pyautogui.screenshot('screenshot.png')  # 截图并保存为 screenshot.png
复制代码
screenshot(region=(left, top, width, height))`:截取指定地区的截图,`region` 参数界说了截图的左上角坐标、宽度和高度。
  1. pyautogui.screenshot('region_screenshot.png', region=(100, 200, 300, 400))  # 截取指定区域的截图
复制代码
图像辨认
locateOnScreen(image, grayscale=False, confidence=None):在屏幕上查找与指定图像匹配的地区,返回一个元组,包罗匹配地区的左上角坐标、宽度和高度。grayscale 参数可设置为 True 以加快查找速度,但大概降低准确性;confidence 参数用于设置匹配的置信度阈值(0 到 1 之间)。 
  1. location = pyautogui.locateOnScreen('button.png', confidence=0.8)
  2. if location:
  3.     print('找到图像,位置为:', location)
  4.     # 可以进一步获取中心坐标并点击
  5.     center = pyautogui.center(location)
  6.     pyautogui.click(center)
  7. else:
  8.     print('未找到图像')
复制代码
4. 简朴案例

假设我们要实现一个自动登录某网页的脚本。步调如下:

  • 打开欣赏器并进入登录页面。
  • 在用户名和暗码输入框中输入相应内容。
  • 点击登录按钮。
  1. import pyautogui
  2. import time
  3. # 打开浏览器并进入登录页面(假设已手动打开浏览器并定位到登录页面)
  4. time.sleep(2)  # 等待页面加载
  5. # 输入用户名
  6. pyautogui.click(500, 300)  # 点击用户名输入框(假设坐标为 (500, 300))
  7. pyautogui.type('your_username')
  8. # 输入密码
  9. pyautogui.click(500, 400)  # 点击密码输入框(假设坐标为 (500, 400))
  10. pyautogui.type('your_password')
  11. # 点击登录按钮
  12. pyautogui.click(500, 500)  # 点击登录按钮(假设坐标为 (500, 500))
复制代码
5. 总结

PyAutoGUI 是一个功能强大且易于利用的 Python 库,它为我们提供了便捷的鼠标和键盘自动化操作功能,以及截图和图像辨认能力。通过本文介绍的常见函数,我们能够在各种场景下实现自动化任务,进步工作服从。然而,在利用过程中,我们也需要注意一些细节,如准确获取坐标、合理设置操作间隔时间等,以确保脚本的稳定性和可靠性。我是橙色小博,关注我,一起在人工智能范畴学习进步!

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
继续阅读请点击广告
回复

使用道具 举报

×
登录参与点评抽奖,加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表