社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

让 Python 来解放你的双手

Crossin的编程教室 • 1 月前 • 107 次点击  

大家好,欢迎来到 Crossin 的编程教室。

你是否有过这样的经历:每天上班都要在一个老旧的系统里填报同样的表格?或者需要从几百个网页里机械地点击下载文件?这种毫无技术含量的“体力活”,不仅无聊到怀疑人生,还容易出错。

这时候,你一定在想:要是电脑能自己动起来该多好?

今天,Crossin 就来给大家介绍一个能帮你彻底解放双手的工具——PyAutoGUI。

什么是 PyAutoGUI?

简单来说,PyAutoGUI 是一个跨平台 Python 交互操作库。它能获取屏幕、能移动和点击鼠标、也能在控制键盘按键打字。

在办公和日常生活中,它的用武之地非常广,举几个最常见的应用场景:

  • 办公自动化:有些公司的内网报销系统或 ERP 软件没有 API 接口,只能靠人工点击。用 PyAutoGUI 可以模拟人工登录、填表、提交。

  • 游戏挂机:在一些简单的桌面游戏或网页游戏中,利用它实现定时领金币、自动点击怪物的操作。

  • 数据处理:比如把几百个 PDF 里的数据,一个一个复制粘贴到 Excel 的特定格子里。

  • 软件压力测试:开发了一款软件,需要测试连续点击按钮 1000 次会不会崩溃,手动点鼠标要点到抽筋,交给 PyAutoGUI 就是几行代码的事。

快速上手

PyAutoGUI 是第三方库,可通过 pip 命令安装:

pip install pyautogui

安装好后,我们直接看一段代码,让你的鼠标在屏幕上画个圈:

import pyautoguiimport math# 获取屏幕尺寸width, height = pyautogui.size()# 自动画圆for i in range(100):    x = width/2 + 200 * math.cos(i/10)    y = height/2 + 200 * math.sin(i/10)    pyautogui.moveTo(x, y, duration=0.1)

只要短短几行,你的鼠标就像被施了魔法一样动了起来!

核心功能

  • 坐标控制:精准定位到屏幕的每一个像素点。

  • 图像识别:提供一张部分区域的截图(比如一个按钮),PyAutoGUI 能在屏幕上找到并点击(locateCenterOnScreen)。

  • 键盘模拟:无论是输入文本还是按下 Ctrl+C 这种组合键,它都不在话下。

  • 消息交互:它还能弹出简易的警告框或输入框,提醒你任务进度。

以其中的“图像识别”为例来演示一下。

先手动打开你要控制的软件或网页,使用截图工具把你想点击的那个按钮(比如“发送”按钮)截取下来,保存为 send_button.png,放在你的代码目录下。然后运行如下代码:

import pyautogui# 程序会在屏幕上寻找长得像 send_button.png 的区域button_pos = pyautogui.locateCenterOnScreen('send_button.png')if button_pos:    pyautogui.click(button_pos) # 找到了就点一下else:    print("屏幕上没找到这个按钮,请检查图片是否清晰或窗口是否被遮挡")

程序运行时,PyAutoGUI 会在当前的屏幕上逐像素扫描。一旦发现屏幕上某个地方长得像你那张截图,它就会返回那个位置的坐标。

有了这个功能,做自动化点击就方便多了,也不用担心窗口移动或缩放之后导致坐标偏移了。

不过在实用中,PyAutoGUI 也有一些需要注意的小细节。比如虽然在不同系统上都是统一的 API 接口,但在 Retina 屏的 Mac 上,你就需要把获取到的坐标值除以2才能正确定位。Windows 上如果开启了屏幕缩放,也会存在类似的问题。

小贴士:紧急制动

搞自动化脚本最怕代码逻辑写错了,鼠标像疯了一样乱点,你连关掉窗口的机会都没有!

PyAutoGUI 设计了一个非常贴心的故障安全机制(Fail-Safe):

只要你迅速将鼠标移动到屏幕的四个角中任意一个,程序就会立即抛出异常并停止运行。

这就像是给你的自动化脚本装了一个紧急刹车系统,建议大家在调试时一定要记住这一点。

与 AI 相结合

现在的 AI 大模型已经能胜任很多脑力工作了,比如文件处理、数据分析、写代码等等。如果再加上 PyAutoGUI 的能力,能更是会让 AI 如虎添翼。

前阵子的大火的 AI 智能体(Agent),比如 Manus 或“龙虾”(OpenClaw)也正是因为可以让 AI “像人一样操作电脑”才引起广泛的讨论。

即使你不去安装这些智能体和框架,只是告诉 AI,让它帮你用 PyAutoGUI 实现一些可以自动化的操作脚本,也能在日常的工作中派上用场,大大提升效率。

总结

虽然也有不少工具,比如 RPA 可以实现类似的自动交互功能,但 PyAutoGUI 依然是我最推荐的“瑞士军刀”。它足够简单、文档齐全,且能满足绝大多数的日常办公自动化需求。如果你有 Python 基础,或者通过 AI 生成脚本,那更值得一用。

与其每次都做重复劳动,不如稍微花点时间写个脚本,一劳永逸。毕竟,编程的目的,不就是让我们可以更好地“偷懒”嘛~

如果本文对你有帮助,欢迎点赞、评论、转发。你们的支持是我更新的动力~


添加微信 crossin123 ,加入编程教室共同学习~
感谢转发点赞的各位~

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/196589