python 자동화 pyautogui
python 자동화 pyautogui
업무 자동화, 반복 클릭, HTS 매매 자동화, 테스트 자동 실행…
마우스와 키보드를 사람이 직접 조작하지 않고 코드로 제어하고 싶다면?
👉 오늘은 Python GUI 자동화 라이브러리 pyautogui를 정리해보겠습니다.
1️⃣ pyautogui란?
pyautogui는 마우스, 키보드, 화면 캡처 등을 제어할 수 있는
Cross-platform GUI 자동화 라이브러리입니다.
설치:
1
pip install pyautogui
2️⃣ 마우스 제어
📍 좌표로 이동
1
2
3
4
import pyautogui
pyautogui.moveTo(100, 200) # 즉시 이동
pyautogui.moveTo(100, 200, duration=1) # 1초 동안 이동
🖱 클릭
1
2
3
4
pyautogui.click()
pyautogui.click(500, 300) # 특정 위치 클릭
pyautogui.doubleClick()
pyautogui.rightClick()
🎯 현재 마우스 좌표 확인
1
print(pyautogui.position())
3️⃣ 키보드 제어
⌨ 한 글자 입력
1
pyautogui.write("hello world")
⌨ 특수키 입력
1
2
pyautogui.press("enter")
pyautogui.press("esc")
⌨ 단축키 조합
1
2
pyautogui.hotkey("ctrl", "c")
pyautogui.hotkey("ctrl", "v")
4️⃣ 화면 캡처
📸 전체 화면 캡처
1
2
img = pyautogui.screenshot()
img.save("capture.png")
📸 특정 영역 캡처
1
2
img = pyautogui.screenshot(region=(left, top, width, height))
img.save("region.png")
특정 프로그램 영역만 저장할때 유용합니다.
5️⃣ 화면에서 이미지 찾기
1
2
3
4
location = pyautogui.locateOnScreen("button.png", confidence=0.9)
if location:
pyautogui.click(location)
✔ 버튼 이미지 기반 자동 클릭 ✔ 반복 업무 자동화에 필수 기능
※ confidence 사용 시 OpenCV 필요
1
pip install opencv-python
6️⃣ 실전 예제 – 자동 로그인
1
2
3
4
5
6
7
8
9
import pyautogui
import time
time.sleep(3)
pyautogui.write("my_id")
pyautogui.press("tab")
pyautogui.write("my_password")
pyautogui.press("enter")
7️⃣ 안정성 설정
🛑 Fail-safe 기능
마우스를 화면 좌측 상단으로 이동하면 프로그램이 강제 종료됩니다.
1
pyautogui.FAILSAFE = True
⏳ 동작 간 기본 대기시간 설정
1
pyautogui.PAUSE = 0.5
8️⃣ pyautogui의 장점
✔ 배우기 쉬움 ✔ OS 독립적 ✔ GUI 테스트 자동화에 적합 ✔ 반복 업무 자동화에 강력
9️⃣ 단점 및 주의사항
⚠ 화면 해상도에 따라 좌표가 달라짐 ⚠ UI 변경 시 이미지 매칭 실패 ⚠ 보안 프로그램 차단 가능
🔥 마무리
pyautogui는 단순 매크로를 넘어
업무 자동화, 테스트 자동화, 트레이딩 자동화까지 가능한 강력한 도구입니다.
반복 작업이 많다면 생산성을 크게 향상시킬 수 있습니다.
This post is licensed under CC BY 4.0 by the author.