Windows端UI自动化---python3 + uiautomation框架

windows端的软件,有多个框架可供选择,例如autoit、uiautomator、uiautomation等等。感觉uiautomation看着更有好一些,就拿来试试。

uiautomation地址:
https://github.com/yinkaisheng/Python-UIAutomation-for-Windows
中文介绍地址:
https://github.com/yinkaisheng/Python-UIAutomation-for-Windows/blob/master/readme_cn.md



1.学会使用UIspy.exe软件

这个软件可以实时查看你需要操作元素的信息,例如:点击、输入等操作

在这里插入图片描述
下载地址:百度网盘
提取密码为:ktwj

具体如何使用,自己研究吧,总体比较简单!



2.打开某个程序

import subprocess

# 打开系统自带的某个程序
subprocess.Popen('notepad.exe')
# 打开其他程序
subprocess.Popen('D:\\TestSoftware\\XXXX.exe')		# 可执行文件的具体地址信息



3.获取软件的主界面:

windows软件,一般都会有一个主界面,这个主界面一般都不会改变的,我们需要在主界面下对其他对话框或元素等的操作。

在这里插入图片描述


window = auto.WindowControl(ClassName="#32770", searchDepth=1)      # 窗口捕获



4.获取弹框的提示信息

需求:获取弹框的提示内容(因为每次的弹框导出的内容不一样)
在这里插入图片描述

在这里插入图片描述

  • 通过UIspy界面,找到对应的这个弹框的详细信息
  • 发现弹框的提示信息,是Text类型的,所以只要获取这个元素的对象,就能找到Name属性的值了

text_element = window.TextControl(AutomationId='65535')  #获取弹框元素,window是我们上一步获取的主界面对象
alert_info = text_element.Name

5.不同类型元素的操作


程序窗口:WindowControl()

按钮:ButtonControl()		

文件显示:TextControl()

输入框:EditControl()

6.元素的属性


ClassName、Name、ProcessId、AutomationId

7.常用的操作

  • DoubleClick() 双击
  • Click() 点击;
  • RighClik() 右键点击;
  • SendKeys() 发送字符;
  • SetValue() 传值,一般对EditControl用;
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章