pyautogui의 이것

소개



이번에는 자작 RPA에 든든한 아군의 pyautogui에 대해 자세히 소개하겠습니다!
여기 ~ 회사의 업무를 RPA로 효율화 한 이야기 ​​~ 하지만 사용한 라이브러리입니다.

개발 환경


  • iMac 2019 Big sur (Boot Camp에서 windows 사용)
  • Python 3.8.6
  • IDE 3.8
  • PyAutoGUI 0.9.51

  • 설치 방법


  • macOS&Linux > python3 -m pip install pyautogui
  • Windows > pip install pyautogui

  • 키보드 조작편



    - 문자 입력


    import pyautogui
    
    pyautogui.write('Hello python!')
    pyautogui.write('Hello python!', interval = 0.25)
    
    interval=(秒) 1문자 입력하는 간격, 생략하면 일순간
    일본어 입력은 직접 불가능
    캐릭터 문자만 대응, 「shift」나 「F1」키는 write() 에서는 사용할 수 없다

    - 키 조작


    import pyautogui
    
    pyautogui.press('enter')
    pyautogui.press(['left','left','left'])    #or pyautogui.press('left', presses=3)
    pyautogui.keyDown('shift')
    pyautogui.keyUp('shift')
    pyautogui.hotkey('ctrl','c')
    



    기능


    press()
    누르기만 하면. ['',''] 또는 presses 지정으로 연타 가능

    keyDown()
    길게 누릅니다.

    keyUp()
    keyDown() 해제

    hotkey()
    두 개 이상의 키를 동시에 누르십시오.


    사용할 수 있는 키 코드 목록





    - 일본어 입력 방법


    import pyautogui
    
    pyautogui.press('kanji')
    pyautogui.write('ohayougozaimasu.')
    pyautogui.press('enter')
    

    영문자에서 반각/전각 변환 키를 눌러 로마자 입력시키는 방법을 가장 간단하게 할 수 있습니다.
    한자 변환은 조금 어렵다고 생각하지만,,,
    정형문의 코피페라면 pyautogui.hotkey() 그리고 어떻게 되겠지요!

    마우스 조작편



    - 무브, 드래그 시스템


    import pyautogui
    
    pyautogui.size()        #画面のサイズ取得    return -> (width,height)
    pyautogui.position()    #現在のマウスの座標  return -> (X,Y)
    
    pyautogui.moveTo(X,Y)
    pyautogui.move(width,height)
    pyautogui.dragTo(X,Y,button='left')
    pyautogui.drag(width,height,button='right')
    



    기능


    moveTo(X,Y)
    화면 좌표(X,Y)로 이동

    move(width,height)
    현재 마우스 좌표에서 width,height 분동

    dragTo(X,Y)
    화면 좌표(X,Y)로 드래그

    drag(X,Y)
    현재 마우스 좌표에서 width,height분 드래그



    duration을 지정하면 움직이는 시간을 결정할 수 있다

    - 클릭 시스템


    import pyautogui
    
    pyautogui.click()                           #現在のマウスの座標をクリック
    pyautogui.click(button='right')             #右クリック
    pyautogui.click(clicks=2,interval=0.25)     #0.25秒の間隔で2回クリック
    pyautogui.click(x=100,y=200)                #座標(X,Y)をクリック
    pyautogui.doubleClick()                     #ダブルクリック
    

    - 스크롤 시스템


    import pyautgoui
    
    pyautogui.scroll(10)                #上に10スクロール
    pyautogui.scroll(-10)               #下に10スクロール
    pyautogui.scroll(10,x=100,y=100)    #座標(x,y)に移動後,上にスクロール
    pyautogui.hscroll(10)               #横方向にスクロール
    

    스크린샷편



    sample.py
    import pyautogui
    
    pyautogui.screenshot()                         #スクリーンショット撮影
    pyautogui.screenshot('hoge.png')               #スクリーンショット撮影後に'hoge.png'で保存
    
    pyautogui.locateOnScreen('hoge.png')
    pyautogui.locateAllOnScreen('hoge.png')
    pyautogui.locateCenterOnScreen('hoge.png')
    



    기능


    locateOnScreen
    화면에서 가장 먼저 찾은 타겟의 (Left, Top, Width, Height)를 RETURN

    locateAllOnScreen
    화면에 존재하는 모든 타겟 (Left, Top, Width, Height)을 RETURN합니다.

    locateCenterOnScreen
    화면에서 가장 먼저 찾은 타겟의 중심 좌표(x, y)를 RETURN



    둘 다 존재하지 않으면 None을 반환합니다.

    메시지 박스편



    - 알림 표시


    pyautogui.alert(text='入力ミスがあります',title='注意',button='OK')
    

    반환값 : button에 지정한 텍스트



    - 확인 메시지


    pyautogui.confirm(text='終了しても良いですか?',title='確認',buttons=['OK','Cancel'])
    

    반환값 : buttons로 지정한 텍스트



    - 입력 화면


    pyautogui.prompt(text='生年月日を入力してください',title='入力',default='YYYY/MM/DD')
    

    반환값 : 입력한 텍스트, 취소시는 None



    - 비밀번호 입력 화면


    pyautogui.password(text='パスワードを入力してください',title='パスワード',default='',mask='*')
    

    반환값 : 입력한 텍스트, 취소시는 None
    입력시 mask에 지정된 문자로 바꾸기



    이번에는 이것으로 끝납니다!
    의외로 GUI용의 메소드가 있어서 놀랍습니다 💦
    그럼, 그럼~✋

    좋은 웹페이지 즐겨찾기