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用;