Ch.1 Python 라이브러리 15선

PyAutoGUI — 마우스/키보드 자동 조작

PyAutoGUI의 역할과 사용 시나리오를 설명할 수 있다마우스 클릭과 키보드 입력을 자동화할 수 있다반복 업무를 매크로로 만들 수 있다

매일 같은 클릭을 100번씩 반복하고 있다면

매일 아침 출근하면 같은 사이트에 로그인하고, 같은 버튼을 클릭하고, 같은 데이터를 복사합니다. 2시간씩 걸리는 단순 반복 작업입니다.

이 지루한 클릭 노동을 자동화할 수 없을까?

PyAutoGUI면 됩니다. 마우스 움직임, 클릭, 키보드 입력을 Python 코드로 자동화합니다.


article

핵심 내용

PyAutoGUI는 마우스와 키보드를 코드로 조작하는 라이브러리입니다. 사람이 하는 클릭, 타이핑, 드래그를 Python이 대신 합니다.

한 줄 요약: 마우스·키보드를 Python으로 원격 조종하는 도구 실생활 비유: 게임에서 매크로를 돌리는 것과 같습니다. 다만 이건 업무용이고, 합법입니다.

API가 없는 프로그램을 자동화하거나, 반복적인 GUI 조작을 대신 시킬 때 씁니다.

수동으로 하면: 클릭 → 대기 → 입력 → 클릭 → 복사 → 붙여넣기 → 100번 반복 → 2시간

PyAutoGUI 쓰면: 코드 작성 10분 → 실행 버튼 한 번 → 자동으로 100번 반복 → 10분

설치하고, 마우스를 자동으로 움직여 봅시다.

pip install pyautogui
import pyautogui

pyautogui.moveTo(500, 300, duration=1)
pyautogui.click()
pyautogui.typewrite("Hello!", interval=0.1)

실행하면 마우스가 화면 좌표 (500, 300)으로 1초에 걸쳐 이동하고, 클릭한 뒤 'Hello!'를 한 글자씩 타이핑합니다.

AI에게 매크로를 만들어 달라고 할 때, 어떤 프로그램 + 어떤 동작 + 몇 번 반복을 말하세요.

좋은 프롬프트 예시: "PyAutoGUI로 메모장 열고 제목 타이핑하고 저장하는 자동화 스크립트 만들어줘"

프롬프트 변형: "3초 대기 후 실행되게 하고, 실행 전에 현재 마우스 위치를 출력해줘 — 디버깅용으로"

import pyautogui
import time

print("3초 후 시작합니다...")
time.sleep(3)
print(f"현재 마우스 위치: {pyautogui.position()}")

pyautogui.hotkey("win", "r")
time.sleep(0.5)
pyautogui.typewrite("notepad", interval=0.05)
pyautogui.press("enter")
time.sleep(1)
pyautogui.typewrite("Meeting Notes 2025-03-13", interval=0.03)
pyautogui.hotkey("ctrl", "s")

미니 프로젝트: 반복 클릭 자동화 매크로 지정된 좌표를 순서대로 클릭하고 텍스트를 입력하는 매크로입니다.

import pyautogui
import time

# 클릭할 좌표와 입력할 텍스트 목록
tasks = [
    {"pos": (200, 300), "text": "홍길동"},
    {"pos": (200, 350), "text": "010-1234-5678"},
    {"pos": (200, 400), "text": "서울시 강남구"},
]

print("3초 후 자동 입력을 시작합니다...")
time.sleep(3)

for i, task in enumerate(tasks, 1):
    pyautogui.click(task["pos"][0], task["pos"][1])
    time.sleep(0.3)
    pyautogui.hotkey("ctrl", "a")
    pyautogui.typewrite(task["text"], interval=0.05)
    print(f"[{i}/{len(tasks)}] {task['text']} 입력 완료")
    time.sleep(0.5)

print("모든 입력 완료!")

실행 방법: auto_fill.py로 저장 → python auto_fill.py 실행 → 3초 뒤 지정된 좌표를 순서대로 클릭하며 텍스트를 자동 입력합니다.

key

핵심 용어

웹사이트 반복 입력

같은 폼에 데이터를 100번 입력하는 작업

스크린샷 자동 촬영

특정 시간마다 화면을 캡처해서 저장

파일 정리 자동화

폴더를 열고 파일을 이동하는 반복 작업

check_circle

핵심 정리

  • 1PyAutoGUI는 마우스·키보드를 Python으로 자동 조작하는 라이브러리
  • 2click(), typewrite(), hotkey()로 클릭·타이핑·단축키를 자동화한다
  • 3API가 없는 프로그램도 GUI 매크로로 자동화할 수 있다

퀴즈와 인터랙션으로 더 깊이 학습하세요

play_circle인터랙티브 레슨 시작