听说你用的是 Windows 系统,盘它!
本文阅读需要约 3 分钟
小帅b之前分享过 pyauogui, 你可以使用它帮你操作一些重复的操作。
今天给你分享的也是自动化的库 —— pywinauto,这个适合在你的 Windows 系统操作,它可以用代码控制你的鼠标和键盘,关键是它可以更精准的获取你要操作的组件。
那么怎么玩呢?接下来就是学习 Python 的正确姿势。
首先你需要安装 pywinauto:
pip install -U pywinauto
安装好之后你就可以造了。
比如你要通过代码打开你的 Pycharm ,那么你就可以这样:
from pywinauto import Application
pycharm_ p ath = r"D:\PyCharm Community Edition 2023.2.2\bin\pycharm64.e xe"
app = Application(backend="uia").start(pycharm_ path)
这里使用了 Pywinauto 库中的 Application 类的 start() 方法来启动 PyCharm 应用程序。
backend="uia" 参数指定了使用 UI Automation 技术来与应用程序进行交互。
运行起来就会自动打开 Pycharm:
好家伙,在 vscode 打开 Pycharm 是吧!
你还可以让它直接在里面写东西:
运行起来就是这样的:
其实关键就是要找到你要操作的窗口,然后去做一些具体的操作。
这里就再介绍一个神器 ——— SWAPY。
运行起来你会发现它可以监听到你在电脑上运行的窗口:
你可以单击你想要操作的程序,右下角就会显示这个程序相应的参数值:
比如我刚刚要操作 Pycharm 的窗口,就可以这样:
app = Application().Connect(title=u'pythonProject \u2013 main.py', class_name='SunAwtFrame')
贴心的是,你只要对着你要操作的程序窗口点击右键,然后点击连接,它右上角直接帮你生成的连接代码:
这样你就再也不用一边写代码一边去找窗口的属性了。
我把 SWAPY 放在以下这里了,你可以自行下载使用:
pywinauto 的鼠标和键盘操作https://pan.quark.cn/s/4d617f275f3c
和 Pyautogui 类似,你可以使用 click 的相关方法对鼠标进行操作:
键盘操作如下:
'+': 代表 SHIFT
'^': 代表 Ctrl
'%': 代表 ALT
比如这样 send_keys('^a^c') 就是 Ctrl+A。
官方文档在这:
pywinauto 获取数据h t tps: //pyw inauto.readthed ocs .io/
最后再额外说一下, 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今天给你带来的分享,希望对你有帮助。
推荐阅读:
记得将我的公众号设为✨星标,觉得本文还不错的话就来个三连,谢啦~
我们下回见,peace!