Python键鼠自动化库PyAutoGUI入门指南:安装、函数与实战示例

听雨眠
听雨眠
发布时间:2026-10-14 | 5人浏览过
原创

本文介绍Python键鼠自动化库PyAutoGUI的安装方法及核心功能,涵盖鼠标移动点击、键盘按键模拟、提示框交互及屏幕截图定位。通过官网绘图示例与结合OpenCV的计算器按钮识别案例,展示如何利用confidence参数实现模糊匹配与无障碍点击,帮助开发者快速掌握GUI自动化脚本编写。

PyAutoGUI概述与安装

PyAutoGUI是一款基于Python语言的键鼠自动化控制库,其核心功能类似于常见的按键精灵工具。得益于Python生态的支持,开发者可以结合其他类库实现更复杂、强大的自动化逻辑。下文将详细解析该库的具体用法。

安装

用户可直接通过pip工具进行安装,操作简便。


pip install pyautogui

等待片刻,安装过程即可自动完成。

核心功能与函数详解

使用介绍

接下来简要梳理PyAutoGUI的主要函数及其调用方式。

鼠标操作函数

主要涉及鼠标点击行为的控制函数。

函数 简单说明
move(x,y)、 moveTo(x,y) 移动鼠标,前者移动相对位置,后者移动到指定位置
click(x,y)、doubleClick、rightClick 单击/双击/右击,无参版本在当前位置点击鼠标
drag(x,y)、dragTo(x,y) 拖动鼠标
mouseDown、mouseUp 按下按键,松开按键
scroll 向下滚动鼠标滚轮的函数

键盘操作函数

主要用于模拟键盘按键输入的操作函数。

函数 简介
press('left',press=3)
hotkey('ctrl','s') 按下Ctrl+S组合键
keyDown、keyUp 按下和松开键盘按键

提示框函数

PyAutoGUI支持弹出系统提示框,此时程序执行会暂停,直至用户完成点击操作后继续运行。

函数 简介
alert(text='',title='',button=['OK','Cancle']) 显示警告对话框
confirm() 显示确认对话框
prompt() 显示提示对话框
password() 显示密码输入对话框

屏幕截图和定位函数

该模块提供屏幕截图功能,并支持在屏幕中搜索匹配的图片以返回其坐标。建议预先保存常用按钮的截图,通过图像定位功能获取坐标后再执行点击,从而精准控制界面元素。

函数 简介
screenshot('image.png') 保存截图并返回截图,无参版本直接返回截图不保存
center('image.png') 从屏幕上寻找图片位置,返回框位置
locateOnScreen('img') 从屏幕寻找图片位置,直接返回坐标

实战案例:绘图与图像识别

简单例子

首先参考官网提供的绘图示例,此处对代码进行了微调。运行此示例前,需先打开画图窗口并最大化,随后运行Python脚本,并迅速将画图程序切换至前台。此时可观察到PyAutoGUI控制鼠标绘制精确直线的效果。


import pyautogui
import time

time.sleep(3)

distance = 100
pyautogui.moveTo(400, 300)
while distance > 0:
  pyautogui.drag(distance, 0, duration=0.1)  
  distance -= 5
  pyautogui.drag(0, distance, duration=0.1)  
  pyautogui.drag(-distance, 0, duration=0.1) 
  distance -= 5
  pyautogui.drag(0, -distance, duration=0.1) 

最终生成的图像效果应如下所示。

在实际工作中,常需识别并点击样式复杂的图片。前文提到的截图与图像识别技术可有效解决此类问题。本例需先安装OpenCV库及opencv-python包,安装完成后即可运行。示例中保存了Windows 10计算器部分按钮的截图,利用PyAutoGUI的图片识别功能获取按钮坐标,从而实现无视窗口位置的无障碍点击。需特别注意,代码中的confidence参数仅在安装OpenCV后可用,该参数支持图片的模糊匹配。


import pyautogui
import time

time.sleep(3)

# Windows计算器的按钮截图
five = '5.png'
eight = '8.png'
multiply = 'multiply.png'
equals = 'equals.png'

# 图片识别和点击的函数


def find_and_click(image):
  x, y = pyautogui.locateCenterOnScreen(image, confidence=0.9)
  pyautogui.click(x, y)


# 执行5*8=
find_and_click(five)
find_and_click(multiply)
find_and_click(eight)
find_and_click(equals)

本例涉及的截图与完整代码已托管于GitHub,欢迎查阅。

https://github.com/techstay/python-study/tree/master/pyautogui-sample

至此,关于Python键鼠操作自动化库PyAutoGUI的简介与小结介绍完毕。如需了解更多Python及PyAutoGUI相关内容,建议搜索本站往期文章或继续阅读后续相关文章,感谢大家的支持!

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表