Pyautogui - 마우스, 키보드 자동화 예제

less than 1 minute read

[파이썬 Pyautogui를 이용한 마우스, 키보드 자동화]

설치

pip install pyautogui
pip install opencv-python

기본 기능

import pyautogui
a = pyautogui.position() # 현재 마우스 좌표
print(a)
실행결과 >> Point(x=431, y=78)
#이동
pyautogui.moveTo(404,674) #해당 좌표로 이동함
pyautogui.moveTo(404,674,2) #2초동안 이동함
pyautogui.moveRel(0,300) #마우스 현재 위치에서 y로 300만큼 이동

#클릭
pyautogui.click() # 클릭
pyautogui.click(clicks=2,interval=2) #2초 텀으로 2번 클릭
pyautogui.doubleClick() #더블클릭

#타이핑
pyautogui.typewrite("hello") #hello
pyautogui.typewrite(['enter']) # 줄바꿈
pyautogui.typewrite(['a','b','c','enter']) # abc + 줄바꿈 / ['abc']는 실행x

실습1) 메모장 키고 타이핑 하기

import pyautogui
import time

pyautogui.moveTo(1645,433) # 메모장 위치
pyautogui.doubleClick()
time.sleep(1) #메모장 켜지는 시간을 위한 딜레이
pyautogui.typewrite("hello")
결과

memo

실습2) 클릭할 부분 스크린샷 찍고 클릭하기

계산기의 위치가 이동하면 숫자 1의 좌표값도 변경됨

이럴땐 클릭할 부분에 스크린샷을 찍어서 좌표값을 구하면 됨

import pyautogui

#숫자 1의 좌표 (x= 1357, y=670)
pyautogui.screenshot('1.png',region=(1357,670,30,30))
# '1.png'라는 파일이 생김

num1 = pyautogui.locateCenterOnScreen('1.png') #'1.png'의 center 좌표값을 구함

pyautogui.click(num1) # 1을 클릭

처음 1의 좌표를 구할 때 가로 30, 세로 30으로 자르기 때문에

1의 좌측 대각선 위에 마우스를 위치해야함

생성된 스크린샷 파일

실행

Categories:

Updated:

Comments