PyAutoGUI 讓你的 Python 腳本控制滑鼠和鍵盤,以自動化與其他應用程式的互動。API 設計得很簡單。PyAutoGUI 可以在 Windows、macOS 和 Linux 上運行,並且支持 Python 2 和 3。
要使用 pip 安裝,請運行 pip install pyautogui
。詳情請參見 安裝 頁面。
PyAutoGUI 具有幾個功能:
- 移動滑鼠並在其他應用程式的視窗中點擊。
- 向應用程式發送按鍵(例如,填寫表單)。
- 擷取螢幕截圖,並給定一個圖像(例如,按鈕或核取方塊),在螢幕上找到它。
- 定位應用程式的視窗,並移動、調整大小、最大化、最小化或關閉它(目前僅限於 Windows)。
- 顯示警示和消息框。
這裡有 一個自動玩遊戲 Sushi Go Round 的機器人 YouTube 影片。這個機器人觀察遊戲的應用程式視窗,並搜尋壽司訂單的圖片。當它找到一個時,它會點擊食材按鈕來製作壽司。它還會在遊戲中點擊電話以根據需要訂購更多食材。這個機器人是完全自主的,能夠完成遊戲的所有七天。這就是 PyAutoGUI 能夠實現的自動化類型。
import pyautogui screenWidth, screenHeight = pyautogui.size() # 獲取主顯示器的大小。 screenWidth, screenHeight (2560, 1440) currentMouseX, currentMouseY = pyautogui.position() # 獲取滑鼠的XY位置。 currentMouseX, currentMouseY (1314, 345) pyautogui.moveTo(100, 150) # 將滑鼠移動到XY座標。 pyautogui.click() # 點擊滑鼠。 pyautogui.click(100, 200) # 將滑鼠移動到XY座標並點擊它。 pyautogui.click('button.png') # 找到button.png在螢幕上出現的位置並點擊它。 pyautogui.move(400, 0) # 將滑鼠向右移動400像素。 pyautogui.doubleClick() # 雙擊滑鼠。 pyautogui.moveTo(500, 500, duration=2, tween=pyautogui.easeInOutQuad) # 使用緩動函數在2秒內移動滑鼠。 pyautogui.write('Hello world!', interval=0.25) # 每個鍵之間暫停四分之一秒 pyautogui.press('esc') # 按下Esc鍵。所有鍵名都在pyautogui.KEY_NAMES with pyautogui.hold('shift'): # 按下Shift鍵並保持。 pyautogui.press(['left', 'left', 'left', 'left']) # 按下左箭頭鍵4次。
Shift鍵會自動釋放。
pyautogui.hotkey('ctrl', 'c') # 按下Ctrl-C熱鍵組合。 pyautogui.alert('This is the message to display.') # 顯示一個警告框並暫停程序直到點擊確定。
這個例子在 MS Paint(或任何圖形繪圖程序)中以方形螺旋形狀拖動滑鼠:
距離 = 200 當 距離 > 0: pyautogui.drag(距離, 0, duration=0.5) # 向右移動 距離 -= 5 pyautogui.drag(0, 距離, duration=0.5) # 向下移動 pyautogui.drag(-距離, 0, duration=0.5) # 向左移動 距離 -= 5 pyautogui.drag(0, -距離, duration=0.5) # 向上移動
使用 PyAutoGUI 的好處,相較於直接生成圖像文件的腳本,是您可以使用 MS Paint 提供的畫筆工具。
Send questions to 阿爾@inventwithpython.com
Q: PyAutoGUI 可以在 Android、iOS 或平板/智能手機應用程式上運作嗎。
A: 不幸的是不行。PyAutoGUI 只在 Windows、macOS 和 Linux 上運行。
Q: PyAutoGUI 是否支持多顯示器設置。
A: 不,目前 PyAutoGUI 只處理主要顯示器。
Q: PyAutoGUI 有做 OCR 嗎?