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

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

本文介绍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 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。