使用 PyAutoGUI 自动化任务
介绍
整天使用计算机最令人兴奋的方面之一是自动化的潜力。与我们每天不得不拖累自己完成的最平凡的现实生活任务不同,计算机允许我们生活在一种权力幻想中,在这种幻想中,我们决定条款,他们听从我们的命令,一遍又一遍,没有任何抱怨。当我们意识到这种权力幻想时,让我们成为所谓的工头。
Python 是一种非常强大的语言,部分原因是有大量模块可供导入和使用。作为任务管理员,我们首先安装和使用 Python 模块 PyAutoGUI。虽然这个模块本身就很强大,但当与其他各种模块结合使用时,任何事情都可以自动化。作为程序员,UI 测试是首先想到的事情。出于我们的目的,我们将限制自己使用一个非常简单的应用程序,它可以解决我对 Slack 的不满。
现在 Slack 是天赐之物,原因不止一个。但是,我发现 Slack 处理状态的方式非常麻烦。我经常在工作日离开我的电脑。给 Slack 10 分钟,它会将我的状态更改为离开。然而,我非常有空,因为我有我的手机。如果我要离开休息一下,我已经有能力改变我的状态来表明这一点。我们可以使用 PyAutoGUI 编写一个简单的程序来解决这个问题。
PyAutoGUI 是一个 Python 自动化模块,用于模拟点击、按键、滚动等。这些动作可以按任何顺序组合,并与其他 Python 模块结合使用,它们可以检测并响应 GUI 中的任何变化。操作系统。例如,与 Google Chrome 捆绑在一起的恐龙迷你游戏可以完全自动化,只需使用 PyAutoGUI,因为它是关于检测变化并通过按键对其做出反应。
Python - 我_am_never_away
依赖关系:
-
Python3
-
模块:PyAutoGUI 和 Time
-
Python语法基本理解
安装
视窗:
点安装 pyautogui
Linux和Mac:
pip3 安装 pyautogui
一些已知问题:
如果您正在运行 OSX El Capitan 并且在安装 pyobjc 时遇到问题,请尝试:
MACOS\DEPLOYMENT\TARGETu003d10.11 pip install pyobjc
Linux 还需要:
sudo apt-get install scrot
sudo apt-get install python3-tk
sudo apt-get install python3-dev
执行
有关模块及其语法的易于阅读和总结的文档,请参阅:https://www.youngwonks.com/resources/pyautogui-cheatsheet
步骤 I - 导入所需模块
我们首先导入 PyAutoGUI 和时间。

第二步 - 使程序动态
该程序必须适用于任何安装了 Slack 的机器,无论显示分辨率如何。因此,要使程序动态化,首先要获得显示器的分辨率。

步骤 III - 单击开始按钮
虽然我们可以简单地按键盘上的左 Windows 键来调用开始菜单,但它并不总是可靠的,尤其是在与其他键输入结合时,由于按键时间间隔和开始菜单所需时间之间的冲突出现并准备好检测按键。考虑到开始按钮总是在左下角,我们可以简单地点击它。

第四步 - 打开 Slack
现在我们已经启动了开始菜单,我们可以键入 Slack 并在键盘上按 Enter。这保证在搜索结果中打开 Slack,已安装的应用程序具有最高优先级。为了加快这个过程,间隔设置为0.1s。

步骤 V - 点击屏幕
现在只需在 Slack 窗口中的任意位置单击即可确保将状态更改为可用。为了避免误点击,我们将在屏幕中央点击右键。

第六步 - 关闭松弛
现在更改了状态,我们可以关闭 Slack 窗口。触发热键
直截了当地会相当乏味,因为必须以正确的顺序模拟按键和按键释放的正确组合。幸运的是,PyAutoGUI 提供了一个更简单的替代方法,hotkey() 函数。

第七步 - 添加定时器
最后,我们让程序每 10 分钟重复一次同样的过程。有很多方法可以跟踪经过的时间。然而,最简单的方法是使用 time 模块,更具体地说,使用 time.time() 函数。我们只需在程序开始时记下当前时间并不断从中减去以确定经过的时间。如果这恰好是 600 的倍数,则意味着 10 分钟或 10 分钟的倍数已经过去,并且每次它都会打开 Slack。

官方文档请参考:https://pyautogui.readthedocs.io/en/latest
结论
从本质上讲,GUI 自动化符合编程语言的精神;它使我们能够通过让我们与不那么智能的智能计算机进行通信,从而摆脱重复性任务的繁琐。这里唯一的区别是抽象级别。这种计算机自动化的变体非常肤浅,因此非常容易理解。然而,潜力是无限的。
本文由 Shravan Sridhar 撰写。他曾在网络安全和数据科学领域工作,目前是 YoungWonks (https://www.youngwonks.com) 的一名经验丰富的 Python 讲师,这是一个面向儿童和青少年的顶级课后编码项目。 YoungWonks 的 WASC 认证计划为孩子们提供了世界一流的 Python 介绍。这里的学生开始使用真正的句法计算机编程,并通过适合儿童的课程获得大学水平课程的概念深度。
更多推荐

所有评论(0)