본문 바로가기
카테고리 없음

python 기반 RPA (Robotic Process Automation)

by fisherman1 2025. 6. 14.

 

개요 : 반복적인 마우스 클릭, 키보드 입력, ERP 시스템 조작 등은 사람이 매일 수행하는 비효율적인 작업입니다. Python은 GUI 자동화 라이브러리를 통해 이러한 반복 업무를 자동화할 수 있습니다. 특히 PyAutoGUIpywinauto를 활용하면 사람처럼 실제 GUI 앱을 제어할 수 있습니다.

반복 UI 조작 자동화 (PyAutoGUI)

PyAutoGUI는 마우스 이동, 클릭, 스크린샷, 키 입력 등 사용자 인터페이스 상의 거의 모든 동작을 자동화할 수 있습니다. 반복 작업이 많은 사무 환경에서 특히 유용합니다.

예시 코드: 마우스 클릭 + 텍스트 입력

 

PyAutoGUI 자동화 예시
import pyautogui
import time

# 3초 대기 (사용자가 마우스를 원하는 위치로 이동할 수 있도록)
time.sleep(3)

# 현재 마우스 위치 가져오기
x, y = pyautogui.position()
print(f"마우스 좌표: {x}, {y}")

# 해당 위치 클릭
pyautogui.moveTo(x, y, duration=0.5)
pyautogui.click()

# 텍스트 입력
pyautogui.write("자동화 테스트입니다!", interval=0.1)
pyautogui.press("enter")
 
ERP / 사내 시스템 자동 조작 (pywinauto)

ERP나 사내 시스템은 웹이 아닌 데스크탑 기반 프로그램인 경우가 많습니다. 이럴 때는 pywinauto를 사용해 윈도우 컨트롤(UI 요소)을 직접 조작할 수 있습니다.

예시 코드: 메모장 실행 후 텍스트 입력

 

pywinauto 자동화 예시
from pywinauto.application import Application
import time

# 메모장 실행
app = Application().start("notepad.exe")

# 메모장 창에 접근
dlg = app.window(title_re=".*메모장")

# 텍스트 입력
dlg.Edit.type_keys("ERP 입력 자동화 테스트입니다!", with_spaces=True)

# 저장 대화상자 호출 예시 (선택적)
# dlg.menu_select("파일(&F) -> 저장(&S)")

이 예제는 단순한 메모장에 대한 자동화지만, ERP 프로그램도 유사한 방식으로 윈도우 창 이름, 컨트롤 ID, 클래스명 등을 활용해 자동으로 조작할 수 있습니다.

 
도구 선택 가이드 및 요약

자동화 대상 시스템의 구조에 따라 도구를 다르게 선택해야 합니다.

조건 추천 도구 설명
고정된 UI 클릭/입력 PyAutoGUI 좌표 기반 제어, 쉬운 매크로
윈도우 앱의 컨트롤 제어 pywinauto 윈도우 내부 요소 직접 접근
이미지 기반 버튼 조작 PyAutoGUI locateOnScreen 등으로 탐색
복잡한 ERP UI 제어 pywinauto, uiautomation 자동화 수준 향상 가능

요약 : Python을 활용한 GUI 자동화는 단순한 반복 업무를 빠르게 처리하며, 특히 ERP 시스템과 같은 GUI 기반 앱에 대해 높은 수준의 자동화를 구현할 수 있습니다. PyAutoGUI는 빠른 매크로에, pywinauto는 더 정밀한 ERP 제어에 적합합니다.