pywinauto桌面應用自動化

2022-06-11 08:57:07 字數 2300 閱讀 8596

pywinauto是一組用於自動化microsoft windows gui的python模組。 最簡單的是,它允許您將滑鼠和鍵盤操作傳送到視窗對話方塊和控制項,來完成我們自動化操作。

官方文件:

通過pip進行安裝:pip install pywinauto 

直接開啟python,進行匯入對應的庫

通過pip進行檢視 pip list 

在練習之前,需要先了解乙個內容,目前pywinauto支援2種檢視客戶端控制項內容

ms ui automation (backend="uia")

注意: chrome在啟動之前需要--force-renderer-accessibilitycmd標誌。 由於comtypes python庫限制,不支援自定義屬性和控制項。

我們可以通過以下三種軟體進行檢測應用的控制項或視窗,來進行操作

1、spy++ 包含在ms visual studio發行版(甚至是express或community)中,可通過「開始」選單訪問。 它使用win32 api。 這意味著如果spy ++能夠顯示所有控制項,那麼「win32」`backend就是你需要的。 autoit window info工具是一種spy ++轉殖。

2、inspect.exe 是microsoft建立的另乙個很棒的工具。 它包含在windows sdk中,因此可以在x64 windows上的以下位置找到它:

c:\program files (x86)\windows kits\10\bin\10.0.17134.0\x64
3、viewwizard軟體,可以非常方便的檢測到我們需要用到的控制項型別。

安裝也安裝完成了,檢視也檢視過了,那麼先進行啟動我們的客戶端進行測試吧(這裡通過的是記事本)

# coding:utf-8

# 匯入pywinauto庫

# 直接啟動記事本

分別拿電腦自帶程式和電腦非自帶程式進行模擬開啟。

1、windows自帶程式:

# 開啟記事本

2、非windows自帶程式:

這裡我們如果按照上面的方法進行檢視的話會報錯誤,這裡我們拿電腦上安裝的qq來測試

發現提示找不到指定的檔案

這裡把qq的檔案位址全部都拷貝上試試看呢?

發現這裡是直接開啟的,因為程式執行後是從環境變數中查詢的,我們可以通過把程式新增到環境變數中直接呼叫

這個時候再次執行發現就已經可以成功的開啟了qq

# coding:utf-8

# 開啟qq

前面的例子我們會發現都是程式沒有執行起來的,那麼想要啟動已經執行起來的程式應該怎麼做?

通過程序號的形式進行開啟

通過視窗控制代碼的形式開啟。問題來了?怎麼檢視視窗控制代碼?

這個時候需要通過前面說的viewwizard工具進行檢視,通過下圖可以看到視窗的控制代碼為134242

通過標題的方式開啟

# coding:utf-8

import pywinauto

# 通過視窗開啟

print(win)

可以發現通過控制代碼的形式也可以指定這個軟體。然後進行對軟體操作

pywinauto自動化操作記事本

一 什麼是pywinauto pywinauto是基於python開發的,用於操作windows標準圖形介面的自動化測試的指令碼模組。二 pywinauto可以用來做什麼 1.可以應用在程式中,來解決工作中的重複性,手動操作圖形介面程式的問題。2.視窗的指定,滑鼠或鍵盤操作,獲得控制屬性,操作控制項...

Android應用啟動後自動建立桌面快捷方式

和ios開發和windows phone開發相比,android是開放的,android上的開發也相對更加靈活,能夠做很多事情。有的朋友會發現,在某些android應用安裝以後,第一次執行,就會在桌面建立快捷方式。這是如何做到的呢?要不怎麼說android特別開放呢,在android開發中,只要傳送...

Android應用啟動後自動建立桌面快捷方式

和ios開發和windows phone開發相比,android是開放的,android上的開發也相對更加靈活,能夠做很多事情。有的朋友會發現,在某些android應用安裝以後,第一次執行,就會在桌面建立快捷方式。這是如何做到的呢?要不怎麼說android特別開放呢,在android開發中,只要傳送...