PyWinAuto概述和安装
PyWinAuto是实现软件自动化开发,其底层原理是windowsAPI ,因此只适用于windows操作系统。
其主要对windows的桌面应用实现自动化操作,如办公软件word和IE浏览器等等
PyWinAuto用于自动化操作C/S软件,如计算机的qq软件,excel,word等安装在wondwos系统中的软件
PyWinAuto将windows的GUI分为win32和uia,这是因为C/S应用程序的底层原理有所不同,两者的实现原理分别基于win32 API和MS UI
搭建PyWinAuto的开发环境
pywinauto模块含有三个依赖模块:pyWin32,comtypes和six模块。这三个模块在安装PyWinAuto时会自动安装
安装命令:pip install pywinauto
由于软件的类型分为Win32和uia,因此需要分别讲述Inspect.exe和UISpy.exe的使用方法,即前者是查找uia软件的信息,后者是查找Win32软件的信息。

Inspect.exe可以看到软件界面划分三大区域:功能区、软件汇总区和软件信息区
软件信息区是显示当前控件的详细信息,当单击左侧的软件汇总区某个控件或者鼠标单击一下计算机上某个软件的程序窗体,它就会自动显示相关的信息
运行qtGUI.py文件,该文件生成一个由PyQt5开发的软件界面。在运行文件之前,需要使用pip安装PyQt5模块(pip install pyqt5)。qtGUI.py文件运行后会启动一个名为Pywinauto的软件,软件中含有一些常用的控件,如文本输入框、单选按钮、下拉框、勾选框、按钮和表格,这些控件都可以通过Inspect捕捉

Inspect获取了整个软件的控件信息,在右侧的软件信息区里,一般只需关注属性Name、ClassName和AutomationId的信息,这些信息用于PyWinAuto连接并操控软件

UISpy.exe看到软件界面与Inspect.exe的界面相似,也是分为三大区域:功能区、软件汇总区和软件信息区
运行wxGUI.py文件,该文件生成一个与qtGUI.py类似的软件界面,但它是由wxPython库开发的软件,wxPython是一个Python包装wxWidgets(基于C++编写)的跨平台GUI工具包。在运行文件之前,需要安装wxPython模块,该模块可以使用pip指令安装(pip install wxPython)。wxGUI.py文件运行后启动一个名为Pywinauto的软件,然后在UISpy查看该软件信息
我们只需获取控件属性ClassName和Name即可,因为PyWinAuto主要通过这些属性来定位并操控控件
不同的软件类型需要使用不同的辅助软件去识别,在开发PyWinAuto自动化程序的时候,使用辅助软件获取软件的信息,通过这些信息实现PyWinAuto和软件的连接与操控
浙公网安备 33010602011771号