安利下PyAUtoGUI这个库,可自动化控制鼠标键盘

简介: 安利下PyAUtoGUI这个库,可自动化控制鼠标键盘


PyAutoGUI 不知道你有没有用过,它是一款用Python自动化控制键盘、鼠标的库。但凡是你不想手动重复操作的工作都可以用这个库来解决。

比如,我想半夜时候定时给发个微信,或者每天自动刷页面等操作,它能完全模拟手动操作,而你可以安心的刷剧了。

嗯,懒惰是程序员的美德。

安装pyautogui

pip install pyautogui

键盘鼠标控制

>>> import pyautogui
>>> screenWidth, screenHeight = pyautogui.size() # 返回屏幕分辨率
>>> currentMouseX, currentMouseY = pyautogui.position() # 返回鼠标的所在位置
>>> pyautogui.moveTo(100, 150) #移动鼠标到指定位置
>>> pyautogui.click() # 单击
>>> pyautogui.click(200, 220) # 单击指定位置
>>> pyautogui.move(None, 10)  # 移动鼠标10个像素
>>> pyautogui.doubleClick() # 双击鼠标
>>> pyautogui.write('Hello world!', interval=0.25)  # 输入字符串,每个字符停留时间0.25秒
>>> pyautogui.press('esc') # 退出键
>>> pyautogui.keyDown('shift')  # Shitf键盘
>>> pyautogui.hotkey('ctrl', 'c')  # 组合键

用pyautogui自动画图

1682345570489.png

显示消息盒子

除了可以控制鼠标键盘外,还可以调用系统弹窗

>>> import pyautogui
>>> pyautogui.alert('This is an alert box.')
'OK'
>>> pyautogui.confirm('Shall I proceed?')
'Cancel'
>>> pyautogui.confirm('Enter option.', buttons=['A', 'B', 'C'])
'B'
>>> pyautogui.prompt('What is your name?')
'Al'
>>> pyautogui.password('Enter password (text will be hidden)')
'swordfish'

1682345601343.png

通过窗口消息盒子可以实现一些简单的人机交互,比如某些地方需要人工输入内容时,这样可以接受用户的指令。

截屏

截图是使用的Pillow模块实现的,截图的用处在于通过图片识别技术识别图片内容,然后通过内容精准定位到某个元素的位置,实现精准点击。

>>> import pyautogui
>>> im1 = pyautogui.screenshot()
>>> im1.save('my_screenshot.png')
>>> im2 = pyautogui.screenshot('my_screenshot2.png')
目录
相关文章
|
2月前
|
数据采集 数据可视化 数据挖掘
利用 Jupyter 实现自动化报告生成 展示如何结合 Jupyter 和 Python 库
【8月更文第29天】为了创建自动化报告,我们可以利用 Jupyter Notebook 结合 Python 的强大库如 Pandas、Matplotlib 和 Seaborn 来处理数据、制作图表,并使用 Jinja2 模板引擎来生成 HTML 报告。这种方式非常适合需要定期生成相同类型报告的情况,比如数据分析、业务报表等。
35 1
|
4月前
|
程序员 API 计算机视觉
技术经验解读:【python自动化】02.pywin32库自动操作键鼠(保姆级代码注释)
技术经验解读:【python自动化】02.pywin32库自动操作键鼠(保姆级代码注释)
94 0
|
4月前
|
安全 生物认证 网络安全
信息打点-红蓝队自动化项目&资产侦察&武器库部署&企查产权&网络空间
信息打点-红蓝队自动化项目&资产侦察&武器库部署&企查产权&网络空间
|
4月前
|
编解码 机器人 关系型数据库
掌握计算机自动化:PyAutoGUI库详细教程(最全使用方法,每行代码都有注释,帮你解决与之有关的所有问题)
掌握计算机自动化:PyAutoGUI库详细教程(最全使用方法,每行代码都有注释,帮你解决与之有关的所有问题)
|
5月前
|
JavaScript 前端开发 测试技术
MechanicalSoup,一个非常实用的 Python 自动化浏览器交互工具库!
MechanicalSoup,一个非常实用的 Python 自动化浏览器交互工具库!
61 9
|
5月前
|
测试技术 API 持续交付
【专栏】Python在自动化测试与单元测试中的应用,强调其简洁语法和丰富库的优势
【4月更文挑战第27天】本文探讨了Python在自动化测试与单元测试中的应用,强调其简洁语法和丰富库的优势。文章分为三部分:首先,阐述自动化测试的重要性及Python的易学性、库支持、跨平台和社区支持;其次,介绍了Python的Unittest标准测试框架和Pytest第三方框架的特点与用法;最后,讨论了Web UI和API自动化测试实践,并提出持续集成、测试金字塔等最佳实践。Python为软件开发的测试环节提供了强大支持,帮助构建更稳定的系统。
63 1
|
5月前
|
JSON 测试技术 API
Python的Api自动化测试使用HTTP客户端库发送请求
【4月更文挑战第18天】在Python中进行HTTP请求和API自动化测试有多个库可选:1) `requests`是最流行的选择,支持多种请求方法和内置JSON解析;2) `http.client`是标准库的一部分,适合需要低级别控制的用户;3) `urllib`提供URL操作,适用于复杂请求;4) `httpx`拥有类似`requests`的API,提供现代特性和异步支持。根据具体需求选择,如多数情况`requests`已足够。
65 3
|
5月前
|
测试技术 数据安全/隐私保护 Python
【如何学习Python自动化测试】—— 鼠标键盘操作
【如何学习Python自动化测试】—— 鼠标键盘操作
|
5月前
|
JSON 监控 调度
局域网管理软件的自动化任务调度:Python 中的 APScheduler 库的应用
使用 Python 的 APScheduler 库可简化局域网管理中的自动化任务调度。APScheduler 是一个轻量级定时任务调度库,支持多种触发方式如间隔、时间、日期和 Cron 表达式。示例代码展示了如何创建每 10 秒执行一次的定时任务。在局域网管理场景中,可以利用 APScheduler 定期监控设备状态,当设备离线时自动提交数据到网站,提升管理效率。
128 0
|
5天前
|
机器学习/深度学习 运维 Cloud Native
构建高效运维体系:从自动化到智能化的演进之路
在当今数字化时代,运维作为信息技术的重要支柱,其效率与创新能力直接关系到企业信息系统的稳定性和业务连续性。本文将探讨如何通过技术手段,实现运维从传统手工操作向自动化、智能化的转变,进而构建一个高效、可靠的运维体系。我们将从自动化工具的应用开始,逐步深入到智能运维的实践,最终展望云原生架构下的运维未来趋势。
下一篇
无影云桌面