在當今的自動化時代,Python因其簡潔、可讀、高效等特點,逐漸成為程式設計界的主流語言。 在 Python 自動化領域,PywinAuto 庫提供了一種控制 Windows 應用程式自動化的簡單方法。 本文將揭開 PywinAuto 的神秘面紗,讓您輕鬆掌握 Python 自動化。
PyWinAuto 是乙個基於 Python 的 Windows 應用程式自動化庫。 它支援模擬滑鼠和鍵盤操作,以實現對Windows應用程式的自動控制。 使用 PyWinAuto,您可以輕鬆登入 Windows、自動開啟和關閉應用程式、自動填寫表單等。
1 安裝。
可以使用 pip 命令在命令列上安裝 pywinauto 庫:
2 基本用法。
1)應用程式物件。
在控制軟體的初始步驟中,我們需要啟動乙個Windows軟體,每個軟體(程序)都是乙個應用程式物件。 例項化 Application 物件時,可以傳入後端引數,包括 win32(預設)和 uia 選項。 如果您不知道要測試的軟體屬於哪個框架,則可以使用 inspect (UIA) 和 spy++ (win32)。 選擇顯示更多資訊的工具。
application 物件。
示例:微信自動登入。
2) WindowSpecification 物件。
我們可以通過使用 Application 物件的 window() 方法來獲取視窗,每個視窗都是乙個 windowspecification 物件。 我們可以通過傳遞諸如 title、classname 或 best match 之類的引數來獲取這些 windowspecification 物件,這些引數可以在 inspect 中找到exe的。 需要注意的是,你在 inspect 上看到的名稱實際上是 window() 標頭引數的對應名稱。
windowSpecification 物件。
示例:微信最大化視窗顯示。
3) 元素控制。
通常,視窗包含各種元素,例如按鈕、編輯欄、樹檢視、核取方塊、對話方塊、工具欄、狀態列、列表框、窗格、選單、選單項、靜態內容、工具提示、列表控制項、單選框、組合框、選項卡控制項、組框、彈出選單、標題等。
訪問這些控制項時,將返回從 ElementInfo 繼承的物件(UIAelementInfo 或 HWNDEdElementInfo)。
elementInfo 以獲取一些重要的屬性或方法。
示例:獲取微信左側導航欄按鈕的資訊。
除了可以獲取元素主要資訊的元素資訊外,這些元素被包裝成乙個包裝器。
Basewrapper 具有一些重要的屬性或方法。
例如,點選微信左側的“設定和其他”按鈕。
4)滑鼠操作。
使用 pywinauto 進行滑鼠點選時,必須指定點選的位置,桌面可以作為坐標系的起點,其中左上角是原點,右上角是 x 軸的正方向,向下方向是 y 軸的正方向。 使用pywinauto的滑鼠模組可以進行滑鼠操作。
滑鼠操作一些重要的屬性或方法。
引數說明:button預設值為left,即滑鼠左鍵,可選值為left、right、middle、move、wheel。
coords 的預設值為元組 (0, 0),元組中的兩個整數分別是 x 軸和 y 軸的值。
wheel dist 表示滾動的距離,大於 0 表示向上滾動,小於 0 表示向下滑動。
例如,要獲取微信對話列表,請向下滾動到 500
5)鍵盤操作。
在鍵盤操作中,我們主要按下鍵盤上的按鍵,相關的 API 在鍵盤模組中提供了幾種方法。 其中最重要的是 send keys() 函式,其第乙個引數是要按下的鍵,以及其他引數,例如空格、製表符、換行符、關閉 numlock、set for、vk packet,可用於自定義某些功能。
通常用於鍵盤操作的鍵值。
例如,如果您在微信上搜尋使用者,請輸入文字並全選刪除。
作為 Python 自動化控制庫的一員,pywinauto 易於使用且功能強大。 通過本文的介紹,相信大家對pywinauto有一定的了解和認識。 未來,希望大家能夠充分發揮pywinauto的優勢,提高工作效率,在以後的習和工作中實現更高水平的自動化控制。
自動化