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用;
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章