Python 自動化與 pywinauto 一起使用很簡單

Mondo 科技 更新 2024-01-28

在當今的自動化時代,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的優勢,提高工作效率,在以後的習和工作中實現更高水平的自動化控制。

自動化

相關問題答案

    學習 習 Python 自動化,輕鬆成為辦公專家!

    ...

    非標自動化裝置與標準自動化裝置的優缺點對比

    自動化裝置的發展改變了生產製造的格局,其中非標自動化裝置和標準自動化裝置成為眾多企業的首選。本文將從優缺點的比較入手,帶大家了解這兩種自動化裝置的區別和選擇。一 非標自動化裝置的優缺點 非標自動化裝置根據客戶需求定製開發。它具有以下優點 .個性化定製 可根據客戶的具體需求設計製造非標自動化裝置,滿足...

    Reishauer 精磨機在自動化領域的應用

    Reishauer 精磨機在自動化領域的應用。資料驅動的自動化 瑞士Reishauer煉油廠可以與資料採集和分析系統相結合,實現資料驅動的自動化。通過對加工過程中的資料進行監控和分析,可以實時調整磨削引數和工藝,以優化加工質量和效率。這種資料驅動的自動化可以使生產線更加智慧型,並實現更高的生產力和資...

    自動折彎機械人

    折彎機械人是一種用於折彎成型鈑金的自動化裝置,可實現高效 準確的折彎加工。機械人主要通過一系列精確的機械運動和感測器控制來工作,將鈑金定位在模具中並施加壓力以將其彎曲成形狀。折彎機械人具有高精度 高效率 高適應性等特點,可以通過更換不同的模具來加工不同形狀的金屬板材,廣泛應用於汽車 航空航天 電子 ...

    自動種子庫的自動化管理和智慧型保護措施

    介紹 種子是農業生產的基礎,種子的質量和儲存對農作物的產量和質量至關重要。隨著科技的不斷進步,自動化種子庫的自動化管理和智慧型化保護措施越來越受到重視。本文將重點介紹自動種子庫的自動化管理和智慧型保護措施。.自動化管理。.溫度和濕度控制 溫度和濕度是種子儲存中的兩個重要因素。自動化管理系統可根據種子...