PyAutoGUI활용 마우스 제어
일생생활 중 컴퓨터 화면의 마우스를 반복적으로 움직어야 할 경우 pyautogui를 활용하여 마우스를 자신이 원하는 형태로 조작할 수 있다.
예) 법정 연수를 들어야 할 경우
특정 내용을 새로고침하여 보야야 할 경우
PyAutoGUI란?
PyAutoGUI는 마우스와 키보드를 제어할 수 있는 Python 라이브러리이다.
PyAutoGUI를 이용하면 Python을 이용하여 마우스 클릭히나 키보드 입력, 화면 스크롤 등과 같은 작업을 쉽게 자동화할 수 있다.
관련 메뉴얼은 다음 사이트를 참고하면 된다.
https://pyautogui.readthedocs.io/en/latest/
Welcome to PyAutoGUI’s documentation! — PyAutoGUI documentation
Welcome to PyAutoGUI’s documentation! PyAutoGUI lets your Python scripts control the mouse and keyboard to automate interactions with other applications. The API is designed to be simple. PyAutoGUI works on Windows, macOS, and Linux, and runs on Python 2
pyautogui.readthedocs.io
사용방법
위 메뉴얼에 있는 프로그램 사용 방법은 다음과 같다.
import pyautogui
screenWidth, screenHeight = pyautogui.size() # 화면의 크기 가져오기.
currentMouseX, currentMouseY = pyautogui.position() # 마우스의 X, Y 위치 가져오기.
pyautogui.moveTo(100, 150) # 마우스를 XY 좌표로 이동.
pyautogui.click() # 마우스 클릭.
pyautogui.click(100, 200) # XY 좌표로 마우스 이동하고 클릭.
pyautogui.click('button.png') # 화면에서 'button.png'가 나타나는 위치를 찾아 클릭.
pyautogui.move(400, 0) # 현재 위치로부터 오른쪽으로 400픽셀 이동.
pyautogui.doubleClick() # 마우스 더블 클릭.
pyautogui.moveTo(500, 500, duration=2, tween=pyautogui.easeInOutQuad) # 트윈 기능을 사용하여 2초 동안 마우스 이동.
pyautogui.write('Hello world!', interval=0.25) # 각 키 사이에 0.25초의 일시 정지
pyautogui.press('esc') # Esc 키를 누름. 모든 키 이름은 pyautogui.KEY_NAMES에 있음.
with pyautogui.hold('shift'): # Shift 키를 누른 상태로 유지.
pyautogui.press(['left', 'left', 'left', 'left']) # 왼쪽 화살표 키를 4번 누름.
# Shift 키는 자동으로 해제됨.
pyautogui.hotkey('ctrl', 'c') # Ctrl-C 조합 키 누름.
pyautogui.alert('This is the message to display.') # 알림 상자를 표시하고 OK가 클릭될 때까지 프로그램 일시 중지.
실제 사용 예제
컴퓨터 화면의 특정 부분을 마우스를 클릭하는 예제를 살펴보면 다음과 같다.
1. 우선 pip install pyautogui로 pyautogui 라이브러리를 설치한다.
pip install pyautogui
2. 마우스의 위치를 알아낸다.
import pyautogui
import time
while True:
print(pyautogui.position()) #위치알아내기
그러면 그림과 같이 마우스의 x, y 좌표를 얻을 수 있다.
3. 위에서 얻은 마우스 위치를 반복문을 통해 지정한다.
이것은 사용자가 원하는 값으로 변경해야 한다.
time.sleep(0.1)은 0.1초 대기를 한다는 의미인데, 이것을 사용하는 이유는 프로그램이 빠르게 수행되므로 마우스를 이옹할 수 있도록 시간을 주기 위함이다.
import pyautogui
import time
# while True:
# print(pyautogui.position()) # 위치 알아내기
i = 1
while True:
print(i, "회 실행 중")
pyautogui.click(x=1856, y=866) # 다음 위 클릭
pyautogui.click(x=1849, y=966) # 다음 버튼
time.sleep(0.1)
pyautogui.click(x=876, y=589) # 취소 버튼
time.sleep(0.1)
pyautogui.click(x=879, y=582) # 재생 버튼
time.sleep(20)
i += 1
4. 위 프로그램을 실행해보면 20초 간격으로 지정한 마우스 좌표를 클릭하는 것을 확인할 수 있다.
'파이썬(Python)' 카테고리의 다른 글
pyttsx3 활용 텍스트 음성 변환 (0) | 2023.06.12 |
---|---|
파이썬 GUI 모듈 (0) | 2023.04.28 |
BeautifulSoup, requests 활용 웹크롤링(Web Crawling) (0) | 2023.03.13 |
파이썬 메모이제이션 (Python memoization) (0) | 2023.03.12 |
Python map이란 (0) | 2023.03.12 |
댓글