파이썬의 라이브러리로써 코드를 통해서 키보드와 마우스를 제어할 수 있다.
이른 바 '매크로'도 이런 류의 라이브러리를 사용하여 만들텐데 오로지 연구, 공부 목적으로 사용하고 악용하는 일은 없도록 해야한다.
작성자 기준으로 유용하게, 자주 쓸 거 같은 코드들만 게시하였기에 자세한건 docs문서를 참고하면 된다.
pyautogui는 pip를 이용하여 설치한 후 사용하면 되는데 사진을 읽어오는 함수가 있으면 opencv-python 도 함께 설치해야 사용 가능하기 때문에 이것 또한 같이 설치해준다.
pip3 install pyautogui
pip3 install opencv-python
import pyautogui
# 현재 사용 중인 모니터의 가로, 세로길이를 픽셀 단위를 기준으로 변수에 저장한다.
MoniterW, MoniterH = pyautogui.size()
# 현재 마우스의 x좌표와 y좌표를 변수에 저장한다.
currentmouseX, currentmouseY = pyautogui.position()
# 마우스 커서를 화면의 400, 400에 위치시킨다.
pyautogui.moveTo(400, 400)
# 현재 마우스 커서 위치에서 우측으로 200, 상단으로 200을 3초안에 이동한다.
# duration값이 없으면 default로 커서가 순간이동을 하듯이 이동한다.
pyautogui.move(200, 200, duration=3)
# 마우스를 한번 클릭한다.
pyautogui.click()
# 마우스를 더블클릭 한다.
pyautogui.doubleClick()
# 현재 화면에 Window.png 사진과 똑같이 생긴 곳으로 가서 클릭한다.
pyautogui.click('Window.png')
# luden0 Blog를 각 글자마다 0.2초 간격으로 작성한다.
# interval를 없애면 문장이 순식간에 완성된다.
pyautogui.write('luden0 Blog', interval=0.2)
# 키보드의 엔터를 한번 누른다.
pyautogui.press('enter')
# 키보드의 엔터를 4번 누른다.
pyautogui.press(['enter','enter','enter','enter'])
# 키보드의 쉬프트를 누르고 유지한다.
pyautogui.keyDown('shift')
# 키보드의 쉬프트를 뗀다.
pyautogui.keyUp('shift')
# Ctrl + C(복사) 단축키를 사용한다.
pyautogui.hotkey('ctrl', 'c')
픽셀단위 모니터 가로 세로 길이
import pyautogui
MoniterW, MoniterH = pyautogui.size()
print(MoniterW, MoniterH)
(실행결과)
현재 마우스 커서의 좌표 표시
import pyautogui
currentmouseX, currentmouseY = pyautogui.position()
print(currentmouseX, currentmouseY)
(실행결과)
(응용)
import pyautogui
while(1):
currentmouseX, currentmouseY = pyautogui.position()
print(currentmouseX, currentmouseY)
(실행결과)
마우스 커서를 원하는 좌표로 이동
import pyautogui
import time
pyautogui.moveTo(1260, 164)
time.sleep(1)
pyautogui.moveTo(1400, 304)
(실행결과)
현재 마우스 위치로부터 x,y만큼의 이동
import pyautogui
pyautogui.move(100, 100, duration=2)
pyautogui.move(-100, -100, duration=1)
pyautogui.move(100, 100, duration=0.5)
(실행결과)
마우스 클릭
import pyautogui
import time
#Hello pyautogui 폴더의 좌표
pyautogui.moveTo(795, 239)
pyautogui.click()
time.sleep(1)
pyautogui.move(0, 90, duration=0.5)
pyautogui.doubleClick()
(실행결과)
원하는 사진이 있는 위치로 가서 클릭
import pyautogui
pyautogui.click('lol.png')
사용된 사진
(실행결과)
원하는 문장을 자동으로 입력해준다
import pyautogui
pyautogui.click()
pyautogui.write('luden0 Blog ', interval=0.2)
pyautogui.write('Hello pyautogui', interval=0.1)
(실행결과)
키보드 제어를 통해 키보드에 있는 기능들 사용
import pyautogui
pyautogui.click()
pyautogui.press('tab')
pyautogui.press(['.','space','pgup','down'])
(실행결과)
너무 빨라서 그렇지 정상 작동한 것이다.
키보드의 키를 누른 상태로 유지, 떼기
import pyautogui
pyautogui.click()
pyautogui.keyDown('shift')
pyautogui.press('a')
pyautogui.keyUp('shift')
pyautogui.press('a')
(실행결과)
단축키 사용
import pyautogui
import time
pyautogui.click()
pyautogui.hotkey('ctrl', 'shift', 'e')
time.sleep(0.5)
pyautogui.hotkey('ctrl', 'shift', 'f')
(실행결과)
pyautogui에서 정의한 키보드 버튼의 이름은 여기 에 정리되어 있다.
'Python > Python_지식_정리' 카테고리의 다른 글
[Python] VScode에서 파이썬 사용 (0) | 2019.11.12 |
---|