如何用python模拟鼠标和键盘的操作

简介: 如何用python模拟鼠标和键盘的操作

前言



不论是模拟鼠标操作还是键盘操作,实际上我们都使用了pywinauto这个库里面的内容。


模拟鼠标操作,我们直接调用pywinauto.mouse这个模块里面的各个方法即可;而模拟键盘输入,我们则需要用到pywinauto.keyboard这个模块里面的SendKeys(keyname)方法。


模拟鼠标动作



模拟鼠标操作,首先需要获取当前连接的窗口,然后再调用相应模块里面的方法:


from airtest.core.api import *
auto_setup(__file__)
# 获取当前连接的窗口
dev = device()
# 拿到鼠标,并模拟鼠标的右键点击操作
dev.mouse.right_click(coords=(1920,100))
复制代码


pywinauto.mouse这个模块里,还提供了很多常用的鼠标操作的方法:


# 鼠标点击操作,可以修改coords来指定点击位置
pywinauto.mouse.click(button='left', coords=(0, 0))
# 鼠标双击操作,可以修改coords来指定双击位置
pywinauto.mouse.double_click(button='left', coords=(0, 0))
# 移动鼠标,可以修改coords使鼠标移动到指定位置
pywinauto.mouse.move(coords=(0, 0))
# 鼠标右键点击,可以修改coords来指定右键点击位置
pywinauto.mouse.right_click(coords=(0, 0))
# 鼠标滚动操作,可以修改coords来指定滚动位置,修改wheel_dist来指定滚动距离
pywinauto.mouse.scroll(coords=(0, 0), wheel_dist=1)
复制代码


模拟键盘输入



调用Airtest封装好的keyevent方法


比较特别的是,Airtest里面还有封装好的keyevent方法,来供我们发送键盘事件。从下面的源码可以看出,这个方法其实也是用的pywinauto库里面的内容。



只要连接了窗口设备,我们就可以直接使用Airtest封装好的keyevent方法来模拟键盘输入,可以省略获取当前窗口的操作:


from airtest.core.api import *
auto_setup(__file__)
# 模拟键盘输入^a和DELETE事件
keyevent("^a")
keyevent("{DELETE}")
复制代码


调用SendKeys方法


与模拟鼠标操作类似,调用pywinauto.keyboard模块里面的SendKeys(keyname)方法,也需要先获取当前连接的窗口:


from airtest.core.api import *
auto_setup(__file__)
# 获取当前连接的窗口
dev = device()
# 拿到键盘,模拟输入^a,^a代表Ctrl+A,即全选
dev.keyboard.SendKeys("^a")
dev.keyboard.SendKeys("{DELETE}")
复制代码


注意,这里的keyname需要用""括起来。更多keyname可以参考下图:


相关文章
|
2月前
|
JSON 编解码 数据安全/隐私保护
电脑录制鼠标键盘脚本,鼠标动作录制脚本,万能脚本录制器【python】
完整功能:实现鼠标移动、点击和键盘操作的录制与回放 数据持久化:将录制的动作序列保存为JSON文件
|
2月前
|
JSON 数据安全/隐私保护 数据格式
电脑录制鼠标键盘脚本, 鼠标录制器免费版电脑版, 鼠标键盘录制工具【python】
这个Python脚本实现了一个完整的鼠标键盘录制工具,具有以下功能特点: 可以录制鼠标移动、点击和键盘按键操作
|
11月前
|
人工智能 Shell 开发工具
[oeasy]python0041_输出ASCII码表_英文字符编码_键盘字符_ISO_646
本文介绍了ASCII码表的生成与使用,包括英文字符、数字和符号的编码。通过Python代码遍历0到127的ASCII值,解决了找不到竖线符号的问题,并解释了ASCII码的固定映射关系及其重要性。文章还介绍了ASCII码的历史背景,以及它如何成为国际标准ISO 646。最后,通过安装`ascii`程序展示了完整的ASCII码表。
154 1
|
12月前
|
监控 Python
用 Python 操作你的鼠标和键盘
用 Python 操作你的鼠标和键盘
133 2
|
11月前
|
人工智能 开发工具 Python
[oeasy]python040_缩进几个字符好_输出所有键盘字符_循环遍历_indent
本文探讨了Python代码中的缩进问题。通过研究`range`函数和`for`循环,发现缩进对于代码块的执行至关重要。如果缩进不正确,程序会抛出`IndentationError`。文章还介绍了Python的PEP8规范,推荐使用4个空格进行缩进,并通过示例展示了如何使用Tab键实现标准缩进。最后,通过修改代码,输出了从0到122的字符及其对应的ASCII码值,但未能找到竖线符号(`|`)。文章在总结中提到,下次将继续探讨竖线符号的位置。
132 0
|
监控 Python Windows
Python如何接收键盘按键
根据你的应用场景(控制台应用、GUI应用或需要监控按键事件的应用),可以选择适当的方法来接收键盘输入。对于交互式命令行脚本,`input()`或 `getch`类函数通常就足够。对于更复杂的键盘交互,如监控全局按键或构建含有图形用户界面的应用程序,则需要使用如 `pynput`或GUI特有的库函数来实现。
241 1
|
安全 数据安全/隐私保护 Python
|
API Python
Python高手修炼手册:精通文件系统操作,掌控I/O管理,提升编程效率
【7月更文挑战第30天】在 Python 编程中, 文件系统操作与 I/O 管理是连接程序与数据的关键。初学者常因路径错误和权限问题受挫, 而高手能自如管理文件。传统 `os` 和 `os.path` 模块易出错, `pathlib` 提供了更直观的对象导向 API。I/O 方面, 同步操作会阻塞程序, 异步 (如使用 `aiofiles`) 则能大幅提升并发能力。真正的高手不仅掌握 API, 更能预见性能瓶颈并优化代码, 实现高效与优雅。
147 1
|
算法 关系型数据库 程序员
程序员必备技能)基于Python的鼠标与键盘控制实战扩展与源码
这篇文章是关于如何使用Python的`pyautogui`库来控制鼠标和键盘进行各种操作,包括移动、点击、滚轮控制以及键盘的按键和快捷键输出,并介绍了如何结合图像处理和计算机视觉技术来扩展其应用。
|
19天前
|
数据采集 机器学习/深度学习 人工智能
Python:现代编程的首选语言
Python:现代编程的首选语言
191 102

热门文章

最新文章

推荐镜像

更多