使用 PyAutoGUI 庫在 Python 中自動化 GUI 互動


PyAutoGUI 是一個用於自動化 Python 應用程式中圖形使用者介面互動的出色模組。它使開發人員能夠模擬使用者輸入並自動化重複操作,使其成為測試、資料輸入和其他需要與 GUI 互動的任務的理想選擇。PyAutoGUI 是一個跨平臺庫,支援所有主要的作業系統,例如 Windows、Linux 和 macOS。

在本教程中,我們將瞭解如何使用 Python 的 PyAutoGUI 包來自動化 GUI 互動。我們將首先安裝 PyAutoGUI 並學習如何使用它。然後,我們將深入探討該庫的功能,例如鍵盤和滑鼠控制以及影像識別。我們將在過程中提供示例,以幫助演示庫的功能以及如何將其用於簡化和自動化各種任務。

在本教程結束時,讀者應該對 PyAutoGUI 以及如何將其用於自動化 Python 應用程式中的 GUI 互動有一個紮實的瞭解。無論您是軟體開發人員、資料分析師,還是隻是在尋找最佳化工作流程的方法,PyAutoGUI 都是一個強大的包,可以幫助您節省時間並提高工作效率。

既然我們知道我們將要處理什麼,那麼讓我們開始吧!

入門

在深入研究使用 PyAutoGUI 自動化 GUI 互動之前,我們首先需要使用 pip 安裝 PyAutoGUI 模組。

但是,由於它不是內建的,因此我們必須首先安裝 PyAutoGUI 庫。這可以使用 pip 包管理器完成。

要安裝 PyAutoGUI 庫,請開啟您的終端並鍵入以下命令 -

pip install scikit-surprise

軟體包成功安裝後,我們就可以開始使用它了!

使用 PyAutoGUI 自動化 GUI 互動

現在我們已經安裝了 PyAutoGUI,讓我們探索其一些功能以及如何使用它們來自動化 GUI 互動。

基本用法

我們需要做的第一件事是將 PyAutoGUI 模組匯入到我們的 Python 指令碼中 -

import pyautogui

PyAutoGUI 模組包含用於控制鍵盤和滑鼠以及用於擷取螢幕截圖和識別螢幕上影像的例程。

鍵盤控制

在 PyAutoGUI 中,可以使用 typewrite() 函式模擬鍵盤輸入。此函式接收一個字串並模擬在鍵盤上鍵入它。例如 -

import pyautogui
pyautogui.typewrite('Hello, World!')

以上程式碼使它看起來像鍵盤鍵入了提供的文字中的單詞。

您還可以使用 hotkey() 函式模擬一次按下多個鍵。

import pyautogui
pyautogui.hotkey('ctrl', 'c')

此程式碼將模擬同時按下“ctrl”和“c”鍵,這類似於複製文字。

類似地,如果您想使用 PyAutoGUI 模擬貼上,您可以輕鬆地使用以下指令碼。

import pyautogui
pyautogui.hotkey('ctrl', 'v')

滑鼠控制

要使用 PyAutoGUI 模擬滑鼠輸入,我們可以使用 moveTo()、click() 和 dragTo() 等函式。例如 -

import pyautogui

# Move the mouse to coordinates (100, 100)
pyautogui.moveTo(100, 100)

# Click the left mouse button
pyautogui.click()

此程式碼將滑鼠移動到螢幕上的 (100, 100) 座標,然後單擊滑鼠左鍵。

我們還可以使用 dragTo() 函式模擬拖動滑鼠。例如 -

import pyautogui

# Move the mouse to coordinates (100, 100)
pyautogui.moveTo(100, 100)

# Click and drag the left mouse button to coordinates (200, 200)
pyautogui.dragTo(200, 200, button='left')

此程式碼將滑鼠移動到 (100, 100) 座標,單擊滑鼠左鍵,然後將滑鼠拖動到 (200, 200) 座標。

影像識別

PyAutoGUI 還包括用於在螢幕上查詢影像的工具。這對於自動化需要使用者在圖形使用者介面中單擊特定按鈕或圖示的操作可能很有用。

locateOnScreen() 函式可用於在螢幕上查詢影像。此函式接受檔名作為輸入,並返回螢幕上影像第一次出現的左上角座標。例如 -

import pyautogui

# Locate the "start_button.png" image on the screen
button_location = pyautogui.locateOnScreen('start_button.png')

# Click the center of the button
button_center = pyautogui.center(button_location)
pyautogui.click(button_center)

此程式碼將在螢幕上找到“start_button.png”影像,然後單擊按鈕的中心。

完整程式

以下是完整程式碼 -

import pyautogui

# Simulate typing the text "Hello, World!"
pyautogui.typewrite('Hello, World!')

# Simulate pressing the "ctrl" and "c" keys at the same time
pyautogui.hotkey('ctrl', 'c')

# Simulate pressing the "ctrl" and "v" keys at the same time
pyautogui.hotkey('ctrl', 'v')

# Move the mouse to coordinates (100, 100) 
# and click the left mouse button
pyautogui.moveTo(100, 100)
pyautogui.click()

# Move the mouse to coordinates (100, 100) 
# Click the left mouse button and drag to coordinates (200, 200)
pyautogui.moveTo(100, 100)
pyautogui.dragTo(200, 200, button='left')

# Locate the "start_button.png" image on the screen 
# and click the center of the button
button_location = pyautogui.locateOnScreen('start_button.png')
button_center = pyautogui.center(button_location)
pyautogui.click(button_center)

結論

PyAutoGUI 包是用於自動化 Python 應用程式中 GUI 互動的出色資源。它簡化了模擬使用者輸入和自動化重複操作的過程,使其成為各種用例(例如測試、資料輸入以及其他需要與圖形使用者介面互動的任務)的絕佳解決方案。

在本教程中,我們已經瞭解了 PyAutoGUI 的功能和特性,例如安裝和基本用法、鍵盤和滑鼠控制以及影像識別。開發人員可以通過了解這些功能來充分利用 PyAutoGUI 的潛力,從而改善其工作流程並簡化其應用程式。

PyAutoGUI 的主要優勢之一是其簡單性。即使是那些對 GUI 自動化經驗不多的開發人員也可以快速學習如何使用它。此外,其跨平臺的靈活性使其成為在各種作業系統上工作的開發人員的絕佳選擇。

總的來說,PyAutoGUI 提供了廣泛的功能,使其成為尋求自動化其應用程式中 GUI 互動的 Python 開發人員的實用工具包。開發人員可以透過使用 PyAutoGUI 來節省時間、提高生產力並提高其程式的整體質量。鼓勵讀者閱讀官方文件,以瞭解更多有關 PyAutoGUI 及其功能的資訊。

更新於: 2023-08-04

812 次檢視

開啟你的 職業生涯

透過完成課程獲得認證

開始
廣告

© . All rights reserved.