GUI 앱 자동화의 만능 도구가 pyautogui입니다.
「마우스 이동·클릭, 키보드 입력, 스크린샷」을 통합.
웹 자동화는 Selenium·Playwright가 우위지만 데스크톱 앱은 pyautogui가 거의 유일.
마우스.
pyautogui.moveTo(100, 200, duration=1) — 1초에 걸쳐 (100,200)으로.
pyautogui.click(x, y) — 클릭.
pyautogui.doubleClick().
pyautogui.dragTo(200, 300, duration=1) — 드래그.
pyautogui.scroll(-3) — 스크롤.
키보드.
pyautogui.write("Hello", interval=0.1) — 글자당 0.1초 간격.
pyautogui.press("enter").
pyautogui.hotkey("cmd", "c") — 단축키.
한글은 직접 입력이 안 되는 경우가 많아 클립보드(pyperclip) 경유가 흔함.
이미지로 위치 찾기.
pyautogui.locateOnScreen("button.png") — 화면에서 button.png와 일치하는 영역 좌표 반환.
「특정 버튼 이미지 찾아 클릭」 패턴 — 좌표 하드코딩 없이도 동작.
단, 정확도·속도 트레이드오프.
안전장치 — failsafe.
마우스를 화면 좌상단(0,0)으로 옮기면 즉시 중단(pyautogui.FAILSAFE = True가 기본).
자동화가 폭주할 때 비상 정지.
또 pyautogui.PAUSE = 0.5로 모든 명령 사이 0.5초 간격.
한 줄 요약
pyautogui는 마우스·키보드·이미지 탐색을 통합한 데스크톱 GUI 자동화 도구.
failsafe(좌상단 비상정지) + PAUSE 간격이 안전장치 핵심.
더 알아볼 것
- pynput — 더 정밀한 입력 모니터링
- macOS 접근성 권한 필요
- AutoHotkey/AutoIt와의 비교