본문 바로가기
파이썬

파이썬 pyautogui 패키지 사용법

by ㈜㎹Ω∞ 2022. 7. 23.
728x90

pyautogui는 키보드와 마우스를 제어할 수 있어서 키보드와 마우스를 제어하는 다양한 프로그램을 만들 수 있습니다.  pyautogui패키지를 사용하기 위해서는 pip install pyautogui로 pyautogui패키지를 설치해야 합니다.

 

pyautogui

 

position()

함수를 사용해서 마우스의 위치를 알 수 있습니다. Shift+F5를 누르면 디버깅이 멈춥니다. 

 

import pyautogui as pyau
import time

while True:
    print(pyau.position())
    time.sleep(0.5)

 

pyautogui, time 패키지를 불러와서 position(), sleep() 함수를 사용했습니다. 포지션 함수를 사용하면 마우스를 움직일 때마다 x, y 좌표가 표시되고, sleep함수를 사용해서 좌표가 표시되는 속도를 조절합니다. 

 

hotkey(), typewrite(), press(), moveTo()

 

  1. hotkey("키이름","키이름") : 단축키를 정할 수 있습니다.
  2. typewrite("내용",시간) : 정한 시간만큼 타이핑을 합니다.
  3. press("키이름") : 해당 키를 누릅니다.
  4. moveTo(x, y, duration=움직이는 시간) : 해당 좌표로 원하는 시간만큼 움직입니다.

 

import pyautogui as pyau

pyau.hotkey("win","r")	### 단축키입력
pyau.typewrite("mspaint",0.1)	### 타이핑함
pyau.press("enter")	### 해당키 누름
pyau.moveTo(500,500,duration=2)	### 마우스가 좌표로 이동
### 실행창에 mspaint 입력하면 그림창실행됩니다.

 

실행창이 실행되고, mspaint글자가 0.1초에 한글자씩 입력되고, 입력한 뒤 엔터를 누릅니다. 그림 창이 실행되면 마우스가 해당 좌표로 이동합니다. (typewrite에 시간을 입력하지 않으면 바로 글자가 입력됩니다.)

 

dragTo(), dragRel(), click(), doubleClick()

  1. dragTo(x, y, duration=초) : 절대값으로 이동합니다.
  2. dragRel(x, y, duration=초) : 현재 좌표를 기준으로 이동합니다.
  3. click(x, y) : 입력한 좌표를 클릭합니다.
  4. click(x, y, clicks=클릭수, interval=간격) : clicks, interval 추가로 클릭수와 간격을 설정할 수 있습니다.
  5. doubleClick() : 더블클릭합니다.

 

 

import pyautogui as pyau
import time

pyau.hotkey("win","r")
pyau.typewrite("notepad",0.1)
pyau.press("enter")
time.sleep(0.5)
pyau.typewrite("i love you",0.2)

 

근데 한글을 입력하면 메모장에 아무 글도 써지지 않습니다. 만약 메모장에 한글을 입력할려면  pyperclip패키지를 가져와서 copy함수를 사용하면 됩니다.

 

import pyautogui as pyau
import time
import pyperclip as pype

pyau.hotkey("win","r")
pyau.typewrite("notepad",0.1)
pyau.press("enter")
time.sleep(0.5)
pype.copy("안녕하세요.")
pyau.hotkey("ctrl","v")

 

안녕하세요.를 복사하고 단축키 입력에 ctrl + v를 하면 붙여넣기가 됩니다. 이렇게 설정하면 메모장에 안녕하세요.가 붙여넣기 됩니다.

 

import pyautogui as pyau

pyau.hotkey("win","r")
pyau.typewrite("mspaint",0.1)
pyau.press("enter")
pyau.moveTo(700,700,duration=1)
pyau.dragTo(500,500)
pyau.dragRel(400)
pyau.dragTo(700,700)

 

그림판이 실행되고 해당 좌표로 마우스가 이동되고, 화면 기준으로 x500, y500 좌표로 이동, 좌표 기준으로 x400만큼 이동, 다시 화면 기준으로 x500, y500 좌표로 이동합니다. 좌표대로 이동하면 그림판에 삼각형 모양이 그려집니다.

728x90

댓글