听说你用的是 Windows 系统,盘它!

小帅b之前分享过 pyauogui, 你可以使用它帮你操作一些重复的操作。

今天给你分享的也是自动化的库 —— pywinauto,这个适合在你的 Windows 系统操作,它可以用代码控制你的鼠标和键盘,关键是它可以更精准的获取你要操作的组件。

那么怎么玩呢?

接下来就是学习 Python 的正确姿势。

添加图片注释,不超过 140 字(可选)

首先你需要安装 pywinauto:

pip install -U pywinauto

安装好之后你就可以造了。

添加图片注释,不超过 140 字(可选)

比如你要通过代码打开你的 Pycharm ,那么你就可以这样:

from pywinauto import Application pycharm_path = r”D:\PyCharm Community Edition 2023.2.2\bin\pycharm64.exe” app = Application(backend=”uia”).start(pycharm_path)

这里使用了 Pywinauto 库中的 Application 类的 start() 方法来启动 PyCharm 应用程序。

backend=”uia” 参数指定了使用 UI Automation 技术来与应用程序进行交互。

运行起来就会自动打开 Pycharm:

添加图片注释,不超过 140 字(可选)

好家伙,在 vscode 打开 Pycharm 是吧!

添加图片注释,不超过 140 字(可选)

你还可以让它直接在里面写东西:

添加图片注释,不超过 140 字(可选)

运行起来就是这样的:

添加图片注释,不超过 140 字(可选)

其实关键就是要找到你要操作的窗口,然后去做一些具体的操作。

这里就再介绍一个神器 ——— SWAPY。

添加图片注释,不超过 140 字(可选)

运行起来你会发现它可以监听到你在电脑上运行的窗口:

添加图片注释,不超过 140 字(可选)

你可以单击你想要操作的程序,右下角就会显示这个程序相应的参数值:

添加图片注释,不超过 140 字(可选)

比如我刚刚要操作 Pycharm 的窗口,就可以这样:

app = Application().Connect(title=u’pythonProject \u2013 main.py’, class_name=’SunAwtFrame’)

贴心的是,你只要对着你要操作的程序窗口点击右键,然后点击连接,它右上角直接帮你生成的连接代码:

添加图片注释,不超过 140 字(可选)

这样你就再也不用一边写代码一边去找窗口的属性了。

我把 SWAPY 放在以下这里了,你可以自行下载使用:

https://pan.quark.cn/s/4d617f275f3c

pywinauto 的鼠标和键盘操作

和 Pyautogui 类似,你可以使用 click 的相关方法对鼠标进行操作:

添加图片注释,不超过 140 字(可选)

键盘操作如下:

添加图片注释,不超过 140 字(可选)

‘+’: 代表 SHIFT ‘^’: 代表 Ctrl ‘%’: 代表 ALT

比如这样 send_keys(‘^a^c’) 就是 Ctrl+A。

官方文档在这:

https://pywinauto.readthedocs.io/

pywinauto 获取数据

最后再额外说一下, pywinauto 还可以获取数据。

比如获取你记事本的内容,那么就可以这样:

# 启动记事本应用程序
 app = Application().start("notepad.exe")
 time.sleep(1)
 # 选择记事本主窗口
 main_window = app.window(title="无标题 - 记事本")
 # 获取编辑框控件并获取文本内容
 edit_control = main_window.Edit
 text = edit_control.window_text()
 print("记事本文本内容:", text)

OK, 那么以上就是小帅b今天给你带来的分享,希望对你有帮助。

推荐阅读:

小帅b公众号那些不为人知的关键词

发表回复