자동화를 위해 사용되는 라이브러리
주로 어떤 조건이 충족되면 키보드와 마우스를 조작하는 용도로 사용된다.
설치
pip install pyautogui
기본 사용법
import – 밑의 설명이나 코드에선 pg로 import된 것을 가정 함
import pyautogui as pg
전체적인 주의 : 입력 장치를 조작할 때, 코드가 실행되어 장치를 조작하는 시간이 필요함. 코드는 1초에 천번 만번도 돌아가지만, 키보드 입력은 천번 만번 할 수 없음.
화면
# 화면 사이즈 얻기
pg.size()
# 이미지의 좌표 구하기(좌상단 좌표)
pg.locateOnScreen(이미지파일) # Box(left=x좌표,right=y좌표,width=너비,height=높이) 반환
# 위 Box객체의 중앙값 구하기
pg.center(pg.locateOnScreen(이미지파일))
# 스크린샷
pg.screenshot(경로,region=(x,y,w,h)) # 좌측 상단 기준의 x좌표,y좌표,너비,높이
키보드
# 문자 쓰기(한글 지원하지 않음. 한글은 복사/붙여넣기 방식 활용, 주로 pyperclip 이용)
pg.write(텍스트,interval=0.5) # interval: 속도
# 키보드 누르기(누르고있기)
pg.keyDown(입력키)
# 키보드 떼기
pg.keyUp(입력키)
# 키보드 눌렀다 떼기
pg.press(입력키)
# 동시입력
pg.hotkey('ctrl'+'c') # 복사하기
# 자주쓰는 키들의 이름
< alt, ctrl, shift, backspace, up, down, left, right, enter, space, esc, f1 ~ f12, insert, home, delete, end, pgup, pgdn, tab, win >
마우스
# 현재 마우스 포인터 위치 받기
pg.position()
# 이동 (절대좌표)
pg.moveTo(x좌표, y좌표 [,이동시간]) # 이동시간은 초 단위
# 이동 (상대좌표)
pg.moveRel(x좌표, y좌표)
# 클릭
pg.click() # 현재 위치 클릭
pg.rightClick() # 현재 위치 우클릭
pg.doubleClick() # 현재 위치 더블 클릭
pg.click(x좌표, y좌표 [,button='right',clicks=횟수,inteval=간격(초) ]) # 절대좌표
# 드래그
pg.dragTo(x좌표, y좌표 [,duration=이동시간,button='middle']) # 절대좌표
pg.dragRel(x좌표, y좌표 [,duration=이동시간,button='middle']) # 상대좌표
기타
# 메시지 박스
pg.alert(text='내용',title='제목',button='버튼명')
# 선택창
pg.confirm(text='내용',title='제목',buttons=['버튼1','버튼2'..]) # 선택 버튼 반환
# 입력창
pg.prompt(text='내용',title='제목',default='placeholder같은느낌')
# 비밀번호 입력창
pg.password(text='내용',title='제목',default='placeholder같은느낌',mask='*')
# 시간 딜레이
pg.sleep(시간) # time.sleep과 같은 기능
같이 보면 좋을 라이브러리
한글 입력을 위한 클립보드: pyperclip
키보드 입력 감지: keyboard
이미지 생성 및 처리: PIL(Python Image Library), NumPy
댓글 남기기