PyAutoGUI 마우스 사용하기

PyAutoGUI를 이용해서 마우스를 컨트롤하는 방법을 소개합니다.


마우스 커서의 현재 위치와 모니터 크기 얻기

position(), size()

import pyautogui

print(pyautogui.position())
print(pyautogui.size())

position() 함수는 마우스 커서의 현재 위치를 (x, y) 튜플의 형태로 반환합니다.

size() 함수는 현재 메인 모니터의 크기를 (width, height) 튜플의 형태로 반환합니다.



마우스 이동과 클릭하기

moveTo(), click()

import pyautogui

pyautogui.moveTo(200, 200)
pyautogui.click()

moveTo() 를 이용해서 마우스 커서를 x=200, y=200의 위치로 이동하고, click() 을 이용해서 마우스를 한 번 클릭합니다.

아래 그림과 같이 (x, y) 위치는 화면 왼쪽 위가 (0, 0)이고 오른쪽으로 아래로 갈수록 x와 y가 증가합니다.


_images/location.png

스크린 상의 x, y 위치



click(x, y)

import pyautogui

pyautogui.click(200, 200)

moveTo()click() 을 한 번에 실행하려면 click() 에 x, y 위치를 넣어주면 됩니다.


button 설정하기

import pyautogui

pyautogui.click(200, 200, button='right')

클릭할 마우스 버튼을 선택하려면 button 키워드를 사용합니다. ‘left’, ‘right’, ‘middle’을 설정할 수 있습니다.


interval 설정하기

import pyautogui

pyautogui.click(200, 200, clicks=2, interval=0.5)

clicks 키워드는 클릭 횟수를, interval 키워드는 클릭 사이의 시간 간격을 설정해줍니다.



마우스 상대적 이동과 더블클릭하기

moveRel(), doubleClick()

import pyautogui

pyautogui.moveRel(0, 10)
pyautogui.doubleClick()

moveRel() 을 이용해서 커서를 현재 위치에서 x=0, y=10 만큼 이동하고, doubleClick() 을 이용해서 마우스를 더블클릭합니다.



마우스 드래그하기

dragTo(), dragRel()

import pyautogui

pyautogui.dragTo(300, 300, button='left')
pyautogui.dragTo(400, 400, 2, button='left')
pyautogui.dragRel(30, 0, 2, button='right')

dragTo() 를 사용해서, x=300, y=300의 위치로 마우스 왼쪽 버튼을 클릭한 채로 드래그합니다.

세 번째 인수의 값을 넣어주면 드래그 시간을 설정하도록 합니다. 현재 커서 위치에서 x=400, y=400의 위치로 2초 동안 왼쪽 버튼을 누른 채로 드래그합니다.

dragRel() 을 이용하면 상대적 이동이 가능합니다. 현재 위치에서 x=30, y=0 만큼, 2초 동안 마우스 오른쪽 버튼을 누른 채로 드래그합니다.

button 키워드는 ‘left’, ‘right’, ‘middle’로 설정할 수 있습니다.



이전글/다음글