pywinauto是一组实现windows GUI窗口自动化的python模块。使用pywinauto可以方便的给窗口发送鼠标、键盘事件,使用python程序控制程序窗口。主要是针对CS程序自动化应用。必须是GUI程序。
参考: https://github.com/pywinauto/pywinauto
1. 官网解释
大概意思就是程序有两种backend,win32 (默认是这个)和 uia, 针对不同的backend 有不同的窗体检测工具。
下面例子用 spy++ ,一个小型的压缩包,解压后就可以使用。
2. 简单使用
可以简单理解,如果要想操作,肯定是需要启动一个程序、或者连接到一个已经存在的APP,然后获取其相关窗口、对话框等控件元素进行操作
0. spy++ 简单使用
spy++ 可以用于定位一些app的相关的class、title 等信息,也可以定位内部的窗口:
(1).找到如下按钮
(2)拖到对应app的窗口会提示相关的句柄、title、class 等信息, 比如拖到记事本显示信息如下:
1. 启动和定位APP以及查看包含哪些组件
结果:
也可以根据processId 、句柄、class_name 、title等获取,当然可以组合
结果:
2. 遍历打印该窗口所有的菜单
结果:
4. 找子窗口
如果找不到元素或者找到多个元素,直接调用方法会报错,解决办法就是自己通过下标指定index(可以结合下面draw_outline 划线 来定位元素)
5. 对找到的元素打标记
结果: 会用红线标记找到的元素
3. 键盘和点击事件
如下例子,打开记事本,输入一些字符串然后另存为E:/1.txt
结果和期望的一样会自动进行一系列操作。
【当你用心写完每一篇博客之后,你会发现它比你用代码实现功能更有成就感!】