python + pywinauto :windowsPC端自动化

一、python中GUI自动化工具介绍

PyAutoGui

一个流行的跨平台库
具有基于图像的搜索功能,没有基于文本的控件操作

Lackey

基于图像模式匹配

AXUI

MS UI Automation API控件的一个包装器

winGuiAuto

一个使用win32 API的控件模块

Pywinauto

同时支持控件操作和图像操作,支持win32 API 和MS UI Automation API

二、Pywinauto环境安装

安装python

https://python.p2hp.com/downloads/
https://www.python.org/downloads/

1、 安装好python
2、确认pip能正常使用

C:\Users\liuni>python --version
Python 3.10.6

C:\Users\liuni>pip --version
pip 23.2.1 from D:\Program Files\python\lib\site-packages\pip (python 3.10)

在这里插入图片描述

安装Pywinauto

方式一:pip在线安装

pip install pywinauto  # 安装
pip uninstall pywinauto  # 卸载

在这里插入图片描述

方式二:离线安装

1、 下载压缩包
https://pypi.org/project/pywinauto/#files在这里插入图片描述

2、 解压压缩包

为方便管理,将解压后的文件夹放到python的安装目录下

在这里插入图片描述

3、cmd进入压缩之后的文件夹中

setup.pywen文件所在目录

4、运行 python setup.py install 进行安装

三、自动化的切入点

确定应用程序的可访问技术

支持控件的访问技术(Pywinauto的后端):

  1. Win32 API (backend = “win32”) 默认的backend
    MFC、VB6、VCL、简单的WinForms控件和大多数旧的应用程序
  2. MS UI Automation API (backend = “uia”)
    WinForms、WPF、Store apps、Qt5、浏览器

启动应用程序

切入点自动化控制进程的范围。如一个程序有多个实例,自动化控制一个实例,而保证其他实例(进程)不受影响。

在Pywinauto中主要有两种对象可以建立这种入口点:

  1. Application
    Application的作用范围是一个进程,如一般的桌面应用程序都为此类
  2. Desktop
    Desktop的作用范围可以跨进程。主要用于一个程序可以包含多个实例(进程)的程序

可以通过任务管理器直接查看应用程序是否多进程:
在这里插入图片描述

四、程序检测相关辅助工具

GUI对象检查/Spy工具

Windows系统 “进程、线程、窗口、窗口消息“ 分析工具:Accessibility Insights、spy、Inspect:
https://blog.csdn.net/freeking101/article/details/88249944

Inspect.exe

可以参考https://blog.csdn.net/weixin_49098230/article/details/137106399下载安装

适合使用uia的backend

Inspect.exe是Microsoft创建的一个工具。包含在windows SDK中,因此可以在x64 Windows上的C:\ Program Files(x86)\Windows Kits\10\bin\x64中找到

也可以单独下载安装:https://developer.microsoft.com/zh-cn/windows/downloads/windows-sdk/
在这里插入图片描述
运行Inspect.exe即可使用:
在这里插入图片描述

FlaUInspect

可以参考https://blog.csdn.net/weixin_49098230/article/details/137106399下载安装

UI Automation属性值获取工具。
它有三种检查元素的方法:打开Flauinspect>转到“Mode”:

1.悬停模式(按Ctrl并将鼠标指针移到目标元素上)
2.焦点追踪()
3.显示XPATH(与上面列出的任何模式结合使用),它将仅显示绝对XPath。

在这里插入图片描述

spy++.exe

使用win32 API。如果spy++能够显示程序的所有控件,那么该应用程序适合使用win32的backend

ViewWizard

ViewWizard(窗口信息查看精灵),使用起来非常简洁,可查看窗口和控件句柄、类名、标题、风格等信息

五、Python + Pywinauto自动化实现

https://blog.csdn.net/weixin_43875895/article/details/124999040

  • 18
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值