Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >使用 PyAutoGUI 库在 Python 中自动化 GUI 交互

使用 PyAutoGUI 库在 Python 中自动化 GUI 交互

作者头像
很酷的站长
发布于 2023-08-11 07:50:54
发布于 2023-08-11 07:50:54
77801
代码可运行
举报
运行总次数:1
代码可运行

PyAutoGUI是一个很棒的模块,用于自动化Python应用程序中的图形用户界面交互。它使开发人员能够模仿用户输入并自动执行重复操作,使其成为测试、数据输入和其他需要与 GUI 交互的工作的理想选择。PyAutoGUI是一个跨平台的库,支持所有主要的操作系统,如WindowsLinux和macOS。

在本教程中,我们将了解如何使用 Python 的 PyAutoGUI 包来自动化 GUI 交互。我们将从安装 PyAutoGUI 开始并学习如何使用它。然后,我们将进一步深入研究库的功能,例如键盘和鼠标控制以及图片识别。我们将在此过程中提供示例,以帮助演示库的功能以及如何使用它来简化和自动化各种任务。

在本教程结束时,读者应该对 PyAutoGUI 以及如何使用它在 Python 应用程序中自动化 GUI 交互有深入的了解。PyAutoGUI 是一个复杂的软件包,无论您是软件开发人员、数据分析师,还是只是寻找优化工作流程的方法,都可以帮助您节省时间并提高工作效率。

现在我们知道了我们将要做什么,让我们开始吧!

开始

在我们深入研究使用 PyAutoGUI 来自动化 GUI 交互之前,我们首先需要使用 pip 安装 PyAutoGUI 模块。

但是,由于它不是内置的,我们必须首先安装 PyAutoGUI 库。这可以使用 pip 包管理器来完成。

要安装 PyAutoGUI 库,请打开终端并键入以下命令 -

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
pip install scikit-surprise

成功安装软件包后,我们就可以开始工作了!

使用 PyAutoGUI 自动执行 GUI 交互

现在我们已经安装了 PyAutoGUI,让我们探索它的一些功能以及如何使用它们来自动化 GUI 交互。

基本用法

我们需要做的第一件事是将 PyAutoGUI 模块导入我们的 Python 脚本 -

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import pyautogui

PyAutoGUI 模块包括用于控制键盘和鼠标以及截屏和识别屏幕上图形的例程。

键盘控制

typewrite() 函数可用于模仿 PyAutoGUI 中的键盘输入。此函数接收字符串并模拟在键盘上键入它。举个例子——

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import pyautogui pyautogui.typewrite('Hello, World!')

上面的代码使其看起来像键盘在提供的文本中键入单词。

您还可以使用 hotkey() 函数来模拟一次按下多个键。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import pyautogui pyautogui.hotkey('ctrl', 'c')

此代码将模仿同时按“ctrl”和“c”键,这类似于复制文本。

同样,如果要使用 PyAutoGUI 模拟粘贴,可以使用以下脚本轻松完成。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import pyautogui pyautogui.hotkey('ctrl', 'v')

鼠标控制

要使用 PyAutoGUI 模拟鼠标输入,我们可以使用 moveTo()、click() 和 dragTo() 等函数。例如 -

import pyautogui

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# Move the mouse to coordinates (100, 100) pyautogui.moveTo(100, 100) # Click the left mouse button pyautogui.click()

此代码会将鼠标移动到屏幕上的坐标(100、100),然后单击鼠标左键。

我们还可以使用 dragTo() 函数来模拟拖动鼠标。例如 -

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import pyautogui # Move the mouse to coordinates (100, 100) pyautogui.moveTo(100, 100) # Click and drag the left mouse button to coordinates (200, 200) pyautogui.dragTo(200, 200, button='left')

此代码会将鼠标移动到坐标 (100, 100),单击鼠标左键,然后将鼠标拖动到坐标 (200, 200)。

图像识别

PyAutoGUI还包括用于在屏幕上定位图像的工具。这对于自动化需要用户单击图形用户界面中的特定按钮或图标的操作可能很方便。

locateOnScreen() 函数可用于在屏幕上定位图片。此方法接受文件名作为输入,并返回图像在屏幕上首次出现的左上角的坐标。举个例子——

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import pyautogui # Locate the "start_button.png" image on the screen button_location = pyautogui.locateOnScreen('start_button.png') # Click the center of the button button_center = pyautogui.center(button_location) pyautogui.click(button_center)

此代码将在屏幕上找到“start_button.png”图像,然后单击按钮的中心。

完整的程序

这是完整的代码 -

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import pyautogui # Simulate typing the text "Hello, World!" pyautogui.typewrite('Hello, World!') # Simulate pressing the "ctrl" and "c" keys at the same time pyautogui.hotkey('ctrl', 'c') # Simulate pressing the "ctrl" and "v" keys at the same time pyautogui.hotkey('ctrl', 'v') # Move the mouse to coordinates (100, 100)  # and click the left mouse button pyautogui.moveTo(100, 100) pyautogui.click() # Move the mouse to coordinates (100, 100)  # Click the left mouse button and drag to coordinates (200, 200) pyautogui.moveTo(100, 100) pyautogui.dragTo(200, 200, button='left') # Locate the "start_button.png" image on the screen  # and click the center of the button button_location = pyautogui.locateOnScreen('start_button.png') button_center = pyautogui.center(button_location) pyautogui.click(button_center)

结论

PyAutoGUI 包是在 Python 应用程序中自动化 GUI 交互的绝佳资源。它简化了模仿用户输入和自动化重复操作的过程,使其成为各种用例(如测试、数据输入和其他需要与图形用户界面交互的工作)的绝佳解决方案。

在本教程中,我们了解了 PyAutoGUI 的特性和功能,例如安装和基本用法、键盘和鼠标控制以及图片识别。开发人员可以通过了解这些功能来利用 PyAutoGUI 的全部潜力来改进他们的工作流程并简化他们的应用程序。

PyAutoGUI的主要优点之一是它的简单性。即使是对 GUI 自动化经验最少的开发人员也可以快速学习如何使用它。此外,其跨平台的灵活性使其成为在各种操作系统上工作的开发人员的绝佳选择。

总体而言,PyAutoGUI提供了广泛的功能,使其成为希望在应用程序中自动化GUI交互的Python开发人员的方便工具包。开发人员可以使用 PyAutoGUI 节省时间、提高工作效率并提高程序的整体质量。我们鼓励读者阅读官方文档,以了解有关 PyAutoGUI 及其功能的更多信息。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
让所有GUI都自动化-PyAutoGUI(GUI自动化工具)
在使用 Selenium 进行自动化测试时,鼠标事件可以用 ActionChains 类,键盘事件可以用 Keys 类。本篇将介绍一款自动化工具-PyAutoGUI,除了可以满足鼠标、键盘事件操作外,还可以进行消息弹窗、截屏等操作。
wangmcn
2022/10/30
6K0
让所有GUI都自动化-PyAutoGUI(GUI自动化工具)
python自动化办公--pyautogui控制鼠标和键盘操作
在公司某些工作场景下,需要大量重复的工作,重复的工作完全可以通过python软件的自动化实现,省时省力。本文分享python自动化办公的利器之一--pyautogui,通过pyautogui可以轻松控制鼠标和键盘操作。
用户9925864
2022/07/27
2.1K0
python自动化办公--pyautogui控制鼠标和键盘操作
解放双手|利用 PyAutoGUI 快速构建自动化操作脚本
我们经常遇到需要进行大量重复操作的时候,比如:网页上填表,对 web 版本 OA 进行操作,自动化测试或者给新系统首次添加数据等
AirPython
2021/07/12
8.4K0
解放双手|利用 PyAutoGUI 快速构建自动化操作脚本
python有意思的库PyAutoGUI详解
在现代数字化世界中,自动化成为提高效率、减轻工作负担的关键手段之一。而在自动化的领域中,Python语言一直以其简洁、灵活的特性受到广泛青睐。在Python的自动化工具中,PyAutoGUI是一款备受推崇的库,它为用户提供了在桌面环境中进行自动化操作的便捷方式。
Michel_Rolle
2024/01/20
2.7K0
python---很多行代码做一个自动打开软件的程序
这里我要推荐一个可以控制鼠标和键盘的库,pyautogui,据它的官方文档,PyAutoGUI的目的是为人类的 GUI自动化提供跨平台的Python模块。
sjw1998
2019/09/28
3.9K0
使用 Python 进行 Windows GUI 自动化
在今天的文章中,我们将探讨如何使用 Python 进行 Windows GUI 自动化。GUI 自动化可以帮助我们自动执行许多与操作系统交互的任务,比如移动鼠标、点击按钮、输入文本、移动窗口等。Python 提供了两个强大的库:pyautogui 和 pywinauto,使得 GUI 自动化变得简单。接下来我们详细介绍。
somenzz
2023/08/22
1.8K0
使用 Python 进行 Windows GUI 自动化
Python自动化办公-自动录入表单数据
图片展示的是如何用 Python 将销售交易数据填充到在线发票生成器中,可以自动生成并下载所有客户的发票。
somenzz
2021/08/19
2.6K0
Python 自动化指南(繁琐工作自动化)第二版:二十、使用 GUI 自动化控制键盘和鼠标
了解用于编辑电子表格、下载文件和启动程序的各种 Python 模块是很有用的,但有时您需要使用的应用没有任何模块。在计算机上实现任务自动化的终极工具是你编写的直接控制键盘和鼠标的程序。这些程序可以通过发送虚拟击键和鼠标点击来控制其他应用,就像你坐在电脑前亲自与应用进行交互一样。
ApacheCN_飞龙
2023/04/04
8.8K0
Python 自动化指南(繁琐工作自动化)第二版:二十、使用 GUI 自动化控制键盘和鼠标
自动化之图形界面库pyautogui
开篇言:py的库真的是多,封装相关功能的库真的是各具神通,里面的轮子很多。前几天一直回去看基础的语法函数这些,以及c语言数据结构这些,扎实自己的基础。 学习是一件很麻烦但是很有意思的事情(我指的是码代码),今天为大家介绍这个自动化库,提高趣味性,当然python的自动化操作还是有好多,后面会为大家继续推出。
兰舟千帆
2022/07/17
2.2K0
自动化之图形界面库pyautogui
python pyautogui 键盘鼠标自动化
1、安装模块: 在Windows 上,不需要安装其他模块。  在OS X 上,运行sudo pip3 install pyobjc-framework-Quartz,sudo pip3 install pyobjc-core,然后sudo pip3 install pyobjc。  在Linux 上,运行sudo pip3 install python3-xlib,sudo apt-get install scrot,sudo apt-get install python3-tk,以及sudo apt-get install python3-dev(Scrot 是 PyAutoGUI 使用的屏幕快照程序)。 在这些依赖安装后,运行pip install pyautogu(i 或在OS X和Linux上运行pip3), 安装pyautogui。 2、pyautogui执行时,如果鼠标移到屏幕左上角,将导致pyautogui产生pyautogui.FailSafeException异常。如果设置FAILSAEF=False将禁止这项功能。
用户5760343
2022/05/13
1.4K0
如何每天自动发送微信消息给女朋友说晚安
经常晚上打王者到凌晨,老是忘记给女朋友说晚安。这次我们来做一个自动发送微信的程序,在晚上22点左右给女朋友发去消息,也好表现我执着的形象,以及早睡早起的良好生活习惯。
用户10002156
2023/08/07
6200
如何每天自动发送微信消息给女朋友说晚安
Python键鼠操作自动化库PyAutoGUI简介
PyAutoGUI是一个Python语言的键鼠自动化库,简单来说和按键精灵的功能一样。但是因为是Python的类库,所以可以使用Python代码配合一些其他类库完成更加强大的功能。下面让我为大家介绍一下吧。
乐百川
2020/05/26
2.4K0
来聊聊桌面图形界面的自动化和采集
如今的计算机软件形态,已被 Web 占据大半,基本上我们能使用到的产品,都能由一个网站来提供服务。
州的先生
2021/07/20
2.3K0
Python PyAutoGUI是什么?
Python的pyautogui库是一种用于自动化任务的强大工具,它可以模拟鼠标和键盘操作,执行各种GUI任务。无论是进行屏幕截图、自动填写表单、自动化测试还是进行GUI操作,pyautogui都可以派上用场。
闻说社
2024/06/19
2070
Python PyAutoGUI是什么?
python实现GUI自动化(控制鼠标)|屏幕快照&图像识别基础
●GUI自动化就是写程序直接控制键盘和鼠标。这些程序可以控制其他应用,向它们发送虚拟的击键和鼠标点击,就像你自己坐在计算机前与应用交互-样。这种技术被称为“图形用户界面自动化”,或简称为“GUI自动化"。有了GUI自动化,你的程序就像-个活人用户坐在计算机前一样,能做任何事情,除了将咖啡泼在键盘上。 ●也可以将GUI自动化看成是对一个机械臂编程。你可以对机械臂编程,让它敲键盘或移动鼠标。对于涉及许多无脑点击或填表的任务,这种技术特别有用。
汀丶人工智能
2022/12/21
2.9K0
python实现GUI自动化(控制鼠标)|屏幕快照&图像识别基础
用python如何控制你的鼠标和键盘
要用 Python 控制鼠标和键盘,常用的库有 pyautogui 和 pynput。下面我将通过 pyautogui 库来演示如何控制鼠标和键盘,每一步操作都将提供详细的代码解析。
golang开发者
2024/10/30
4660
用 python 做一个消息轰炸机
之前python有趣的案例集3有发一个消息轰炸机的视频,这种属于python自动控制,原理就说利用程序控制键盘,鼠标等。
叶子陪你玩
2021/09/15
1.7K0
推荐一个比较好的操作鼠标键盘的python库
最近由于在家办公,很多东西在家没法访问。 于是我想自动操作,将daily build放到teams的公司共享盘里。这样就可以在家访问了。 结果遇到了一个难题。文件上传框是系统的。没法点。 先考虑autoit,感觉不是很理想。 然后用到了 pykeyboard.PyKeyboard() 和pymouse.PyMouse(),感觉也不是太理想 后面还尝试过pyautoit,也不理想。 最后找到了pyautogui
赵云龙龙
2020/12/15
7.9K0
推荐一个比较好的操作鼠标键盘的python库
女朋友让我深夜十二点催她睡觉,我有Python我就不干
不过,可是我实在太困了,熬不下去…… 是吧?女朋友哪有睡觉重要? 但,女朋友的命令,我是不敢违抗的…… 但是睡觉也不能缺!
全栈程序员站长
2022/07/31
7130
女朋友让我深夜十二点催她睡觉,我有Python我就不干
AI调用微信OCR能力来批量识别图片中的文本
微信电脑版中自带OCR能力,可以识别截图图片中的文字、身份证、银行卡、行驶证、营业执照等,准确率很高,而且免费。
AIGC部落
2024/10/21
3310
AI调用微信OCR能力来批量识别图片中的文本
推荐阅读
相关推荐
让所有GUI都自动化-PyAutoGUI(GUI自动化工具)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验