파이썬으로 키보드, 마우스 조작을 자동화하여 일상 업무를 효율화 [RPA]

이번에 습득할 수 있는 일



파이썬으로 키보드 조작이나 마우스 조작을 자동화.
‘함〇레’이지만 ‘성 〇’이지만 주회를 자동화할 수 있다.
높은 라이센스 요금으로 RPA 툴을 도입하지 않아도 일상 업무를 효율화할 수 있다.
(실제로 주회 자동화를 해 보자고 생각했지만 규약이라든지 귀찮아서 얌전히 그만둔다)
리모트 워크로 이석해도 로그인 상태를 유지하기 때문에 눈치채지 않고・・・

조작하고 싶은 화면의 사이즈를 취득



파이썬으로 키보드와 마우스 조작을 자동화하기 위한 패키지라고 하면 pyautogui.
import pyautogui as pa
pa.size()
Size(width=1920, height=1200)

확인의 용이성을 위해 time을 사용하여 동작 전에 일단 정지시킨다.
자동 조작의 입력이 너무 빨라 화면 처리나 브라우저가 반응에 따라잡을 수 없는 때가 있기 때문에 형편에 맞추어 time를 사용해 간다.

원점에서 마우스 이동



화면 좌상을 (0,0)의 좌표로서 위치 조작을 행한다.
moveTo를 사용하여 (0,0)에서 지정된 위치로 마우스를 이동합니다.
duration에서 몇 초에 걸쳐 이동할지 지정합니다.
import time
time.sleep(1)

pa.moveTo(100,100,duration=1)

현재 위치를 알


pa.position()
Point(x=1735, y=157)

현재 위치에서 이동



현재 위치에서 지정된 위치로 이동하는 것은 moveRel
time.sleep(1)
pa.moveRel(100,100,duration=1)

클릭, 특수 클릭, 더블 클릭


pa.click(x=1839, y=293, button='left')
pa.leftClick()
pa.rightClick()
pa.doubleClick()

마우스 밀어 넣기


pa.mouseDown(x=1735, y=157)
pa.mouseUp()

moveRel과 조합하면 드래그&드롭이 가능하다.

하지만 드래그&드롭이라면 전용의 것이 있다


pa.dragTo()
pa.dragRel()

스크린샷


ss =pa.screenshot()

이미지를 인식하고 장소를 반환합니다.



스크린샷이나 스니핑 툴로 인식하고 싶은 것을 준비

이번에는 휴지통을 gomi.png로 저장합니다.



화면에서 이미지와 일치하는 위치를 반환합니다.
list(pa.locateAllOnScreen('gomi.png'))
[Box(left=16, top=4, width=65, height=81)]

이미지에서 인식한 것의 중심 위치를 반환합니다.


pa.center(pa.locateAllOnScreen('gomi.png'))

중심을 인식하면 클릭과 결합하면 바로 가기를 실행할 수 있습니다.

문자를 박다



이미지 인식에서 검색 막대와 메모장의 위치를 ​​지정한 다음 typewrite
pa.leftClick()
pa.typewrite('HHH',1)

스케줄 실행


import schedule
import time

def job():
    print("関数内にclickとか処理を入れる")

10분마다 job 함수 작업 수행
schedule.every(10).minutes.do(job)

기타 지정
#一時間おき
schedule.every().hour.do(job)
#毎日10:30になったら
schedule.every().day.at("10:30").do(job)
#月曜になったら
schedule.every().monday.do(job)
#曜日・時間指定
schedule.every().wednesday.at("13:15").do(job)

스케줄 실행 중지
schedule.run_pending()

이상



hotkey로 shift 길게 누르거나 windows 버튼을 누를 수도 있습니다

PyAutoGUI’s documentation
schedule doc

좋은 웹페이지 즐겨찾기