- Today
- Total
Recent Posts
Recent Comments
Archives
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
Tags
- 쉬운 파이썬
- 채용문제
- 파이썬활용
- python 중간고사
- 대학시험
- selenium
- 중간시험
- 프로그래밍
- 자료구조
- 알고리즘
- c언어
- 면접 파이썬
- Crawling
- 파이썬 자료구조
- gdrive
- 파이썬 알고리즘
- 알고리즘 강의
- 알고리즘 강좌
- 코딩시험
- 크롤링
- 파이썬 입문
- 파이썬3
- 파이썬 강좌
- 코딩문제
- python data structure
- 셀레니움
- 파이썬
- 기말시험
- 자료구조 강의
- 파이썬 강의
Notice
반원 블로그
2. pyautogui : 키보드 마우스 제어 패키지 본문
개요
- 노트북의 마우스, 키보드를 제어함으로서 자동화를 구현하기위해 사용할 수 있는 외부 패키지
연습용 이미지
설치
Windows
- pip install pyautogui
Mac
- pip3 install pyobjc-core
- pip3 install pyobjc
- pip3 install pyautogui
Linux
- pip3 install python3-xlib
- sudo apt-get install scrot
- sudo apt-get install python3-tk
- sudo apt-get install python3-dev
- pip3 install pyautogui
테스트 확인 OS
- 윈도우, 맥
유사 또는 같이 자주 사용되는 패키지 및 모듈
- mouse
- keyboard
- pypnut
- pywinauto
- pyhook
- system_hotkey
- pyuserinput
기타사항
- 듀얼 모니터일 경우 메인 모니터만 제대로된 인식 가능
- 왼쪽 상단으로 마우스를 올릴 경우(0,0) 안정장치가 내장되있어서 자동화가 종료된다.
- 안전 장치 제거를 위해 pyautogui.FAILSAFE = False 를 적을 수 있다.
- 각 행동에 기본 딜레이를 지정할 수 있다. pyautogui.PAUSE = 2.5
- 이미지 인식 기능을 사용하기위해선 opencv-python 패키지를 설치한다.
핵심 코드
#마우스 클릭관련
click(x=None, y=None, clicks=1, interval=0.0, button=PRIMARY, duration=0.0, tween=linear, pause=None, logScreenshot=None, _pause=True)
leftClick(x=None, y=None, interval=0.0, duration=0.0, tween=linear, pause=None, logScreenshot=None, _pause=True)
rightClick(x=None, y=None, interval=0.0, duration=0.0, tween=linear, pause=None, logScreenshot=None, _pause=True)
middleClick(x=None, y=None, interval=0.0, duration=0.0, tween=linear, pause=None, logScreenshot=None, _pause=True)
doubleClick(x=None, y=None, interval=0.0, button=LEFT, duration=0.0, tween=linear, pause=None, logScreenshot=None, _pause=True)
tripleClick(x=None, y=None, interval=0.0, button=LEFT, duration=0.0, tween=linear, pause=None, logScreenshot=None, _pause=True)
# 키보드 관련
typewrite(message, interval=0.0, pause=None, logScreenshot=None, _pause=True)
keyDown(key, pause=None, logScreenshot=None, _pause=True)
keyUp(key, pause=None, logScreenshot=None, _pause=True)
press(keys, presses=1, interval=0.0, pause=None, logScreenshot=None, _pause=True)
#마우스 좌표 및 이동 관련
moveTo(x=None, y=None, duration=0.0, tween=linear, pause=None, logScreenshot=False, _pause=True)
moveRel(xOffset=None, yOffset=None, duration=0.0, tween=linear, pause=None, logScreenshot=False, _pause=True)
position(x=None, y=None)
#인식 화면 및 이미지 인식 관련
size()
locateCenterOnScreen(image, **kwargs)
locateOnScreen(image, minSearchTime=0, **kwargs)
특수키 입력 방법
- pyautogui의 경우 해당 키의 네임을 적으면 된다.
- 레퍼런스 문서 참고
연습 예제 1 - 화면크기 조회 및 타이핑 함수
import pyautogui
#현재 화면 사이즈 확인
print(pyautogui.size())
#타이핑 함수
time.sleep(2)
pyautogui.typewrite('Hello World')
pyautogui.typewrite('Hello World',interval=0.25)
#마우스 이동
pyautogui.moveTo(100,100)
연습 예제 2 - 이미지 인식 예제
import pyautogui , time
print('찾기 시작')
#이미지 중앙 좌표 찾기, confidence : 정확도
pos = pyautogui.locateCenterOnScreen('banana.png')
# pos = pyautogui.locateCenterOnScreen('banana.png',confidence=0.8)
print('중앙 좌표' , pos)
pyautogui.moveTo(pos[0],pos[1]) #이미지 중앙으로 마우스 이동
time.sleep(3)
#이미지 왼쪽, 위, 가로길이, 세로길이 좌표 찾기, confidence : 정확도
pos = pyautogui.locateOnScreen('banana.png')
print('박스 모델 좌표', pos)
pyautogui.moveTo(pos[0],pos[1]) #왼쪽 위로 이동
연습 예제 3 - 현재 마우스 좌표 확인
import pyautogui as pg
import time
for i in range(30):
print(pg.position())
time.sleep(.3)
추가 참고
'2018~ > Python Skill Up' 카테고리의 다른 글
5. 클래스 - 기초 정의 및 인스턴스 생성 (0) | 2019.09.06 |
---|---|
4. rest api (1) - 급식 데이터 조회 (0) | 2019.09.06 |
파이썬 가상환경 개요 설명 (0) | 2019.09.06 |
3. selenium : 웹 드라이버 제어를 통한 자동화 (0) | 2019.09.05 |
1. 라이브러리, 패키지, 모듈, 외장 함수, 내장함수 (0) | 2019.09.05 |
0. python skillup track1 환경 설정 (0) | 2019.09.05 |
os 모듈 사용 예제, sys 인수 (0) | 2019.09.02 |
여러 개 사용자 입력처리 input + 파이썬 map 함수 (0) | 2019.08.29 |
Comments