[python, 그래픽] 파이썬 자동화 툴 - pyautogui 사용하기

 

pyautogui

마우스와 키보드를 자동으로 움직여보자

 

자동화가 뭐지?

자동화는 말그대로 사람 개입없이 자동으로 무언가를 하는것이다. 기존에 사람이 수동으로 직접하던것이 뭐가 있는지 생각해보자. 가장 대표적으로 컴퓨터를 할 때 키보드를 누르는 것과 마우스를 움직이는 것이 있다. 사실 pyautogui 는 이 2 가지를 대신 해주는 것이다. 이 원리가 궁금할텐데, 정확한건 나도 잘 모르지만 아마도 키보드나 마우스 등의 입력장치의 신호를 운영체제 레벨에서 받아들이는데, 그 부분을 캐치하여 활용하는 것 같다. 내부가 어떻게 되어있는지는 잘 모르겠지만 윈도우, 리눅스, 맥에서도 문제없이 돌아가는 cross-platform 툴이다. 아무튼 pyautogui 로 입력기능 자동화가 가능하다는 것이 중요하다. 흔히 말하는 매크로가 이 기능을 사용하는 것이다. 잘 활용하면 업무나 작업을 손쉽게 처리할 수도 있는 아주 유용한 개념이다. 이런저런 이유로많은 사람들이 자동화에 대해 많은 관심을 가지고 있다.

 

설치

pip 가 있다면 간단하게 install 할 수 있다.
pip install pyautogui

 

기본기능 알아보기

우선 알아야할것은 마우스를 다룰 때 좌표체계다.

 

 

좌상단이 원점, 가로가 x, 세로가 y 다. 여타 플랫폼에서의 체계와 대략 비슷하다. 나머지는 딱히 신경쓸게 없다.
복잡한게 없다. 바로 따라해보자.

 

마우스 위치 확인

import pyautogui
pyautogui.position()
# --> (x, y)

간단하게 현재 마우스의 좌표를 출력한다. 좌표체계를 알고있으면 자신의 마우스가 어딨는지 잘 알 수있다.

 

마우스 이동

# 1 초에 걸쳐 해당 좌표로 이동
pyautogui.moveTo(670, 300, 1)  

현재 마우스 포이터가 목표좌표에 대해 멀리있으면 가까이있을때 보다 더 빨리 움직인다.

 

pyautogui.dragTo(100, 200, 3, button='right')

마우스를 클릭한 채 3 초에 걸쳐 해당 좌표로 이동

 

 

마우스 이동

 

3 번째 인자를 생략하면 즉시 해당 좌표로 이동한다.

경축! 아무것도 안하여 에스천사게임즈가 새로운 모습으로 재오픈 하였습니다.
어린이용이며, 설치가 필요없는 브라우저 게임입니다.
https://s1004games.com

 

마우스 클릭

# 즉시 클릭

pyautogui.click(button='right')

# 좌표설정 후 클릭

pyautogui.click(x=100, y=200)

# 더블클릭, 간격설정

pyautogui.click(x=100, y=200, clicks=2, interval=.2) # doubleClick

click 대신 keyDownkeyUp 을 사용하여 더 세밀한 조작이 가능하다.

 

마우스 스크롤

# 마우스 휠 동작에 해당. 위로 100 픽셀을 10 번 = 1,000 픽셀

for i in range(10):  
pyautogui.scroll(100)

 

키보드 입력


# 천천히 타이핑하는 효과

pyautogui.click(button='left')  
#pyautogui.write('Hello world!')  
pyautogui.write('Hello world!', interval=0.1)

 

천천히 입력

 

마치 사람이 쓰는것같은 효과가 난다.

interval 을 없애면 한 번에 입력된다. 

 

키보드 연속동작


# 확대

pyautogui.keyDown('ctrl')  
pyautogui.press('-')  
pyautogui.press('-')  
pyautogui.keyUp('control')

ctrl 키를 누른 채로 - 키를 2 번 누른 후 다시 ctrl 을 놓는다.
흔히 사용하는 화면축소 커맨드다.

 

스크린샷

im2 = pyautogui.screenshot('my\_screenshot.png')  
im = pyautogui.screenshot('screenshot.jpg', region=(0,0, 300, 800))

 

스크린 샷 파일 생성

 

 

>> pyautogui 매뉴얼

[출처] https://diplabs.tistory.com/15

 

 

 

본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
번호 제목 글쓴이 날짜 조회 수
57 [python 인공지능] Deploy ML models with FastAPI, Docker, and Heroku | Tutorial 졸리운_곰 2025.07.08 467
56 [python 인공지능] [VSCode] VSCode에서 ipynb 파일을 HTML(PDF 등..)로 졸리운_곰 2025.05.27 289
55 [Python 인공지능] [파이썬을 이용한 한글 NLP] 03. 간단한 키워드 추출기 졸리운_곰 2025.01.29 459
54 [Python 인공지능] [ 한글 키워드 시각화 ] 파이썬 python 텍스트 마이닝 한글 ( 워드 클라우드 WordCloud, squrify 트리맵으로 빅데이터 마스터) file 졸리운_곰 2025.01.29 398
53 [Python 인공지능] 기계 학습의 A to Z : IPython notebook과 scikit-learn을 활용한 기계 학습 file 졸리운_곰 2024.08.10 523
52 [python] 인공지능 python : 한글 문서 자동 요약 - lexrank 졸리운_곰 2023.07.06 404
51 [python] 인공지능 katiehouse / django-scikit-learn-tutorial file 졸리운_곰 2023.06.03 664
50 [python] [Anaconda]가상환경 설치,삭제 file 졸리운_곰 2022.12.03 405
49 [python][머신러닝] Scikit-learn Tutorial: Machine Learning in Python file 졸리운_곰 2022.11.29 497
48 [python] 파이썬(sklearn) 사이킷런(sklearn) 기초 졸리운_곰 2022.08.20 321
47 [python] scikit-learn이란 file 졸리운_곰 2022.08.20 455
46 [anaconde3][python] Create environment for tensorflow 1.4 in Anaconda 3 졸리운_곰 2022.07.02 563
45 [python][인공지능] [TensorFlow] Anaconda 가상환경 이용하여 TensorFlow GPU 설치 졸리운_곰 2022.01.20 438
44 [Python 인공지능] TextRank 를 이용한 키워드 추출과 핵심 문장 추출 (구현과 실험) file 졸리운_곰 2021.11.22 597
43 [python][인공지능] FLASK를 이용하여 PYTHON에서 PYTORCH를 REST API로 배포하기 졸리운_곰 2021.03.20 364
42 [python 파이썬] Creating REST API for TensorFlow models file 졸리운_곰 2021.02.01 488
41 [python 파이썬 인공지능] Keras 모델을 REST API로 배포해보기 file 졸리운_곰 2021.02.01 411
40 [파이썬 머신러닝] Scikit-learn 기초 졸리운_곰 2020.01.31 579
39 파이썬으로 간단한 뉴럴 네트워크 만들기 How to Create a Simple Neural Network in Python file 졸리운_곰 2020.01.29 22636
38 Keras를 활용한 주식 가격 예측 file 졸리운_곰 2019.02.25 983
대표 김성준 주소 : 경기 용인 분당수지 U타워 등록번호 : 142-07-27414
통신판매업 신고 : 제2012-용인수지-0185호 출판업 신고 : 수지구청 제 123호 개인정보보호최고책임자 : 김성준 sjkim70@stechstar.com
대표전화 : 010-4589-2193 [fax] 02-6280-1294 COPYRIGHT(C) stechstar.com ALL RIGHTS RESERVED