python 공부/매크로 만들기

[파이썬 매크로 만들기] #04. 매크로 시작 단축키 만들기

피치피치어피치♥ 2021. 8. 9. 20:52

<초보코딩님 유투브로 공부하며 정리하였습니다>

 

pyautogui 이용해서 매크로 시작하는 단축키 만들기 

 

필요기능

- 단축키 지정 

- 단축키 눌렸을 때에 할 동작 

 

1. 쥬피터 노트북에서 pyautogui 및 keyboard, time import

import pyautogui
import keyboard
import time

 

2. keyboard가 눌렸는지는 is_pressed 를 통해 확인할 수 있다 

 

 

 

True가 나오는 걸 확인하고 싶으면 

shift + enter 말고, 

F3 누른 상태에서 마우스로 Run 버튼을 누르면 

그 순간에 F3이 눌렸는지 결과가 찍힘

 

3. 실행되는 순간이 아닌, 아무 순간에 단축키를 눌렀을 때 반응하기 위해서는 while (1) 을 사용할 수 있음

while True (while (1)) 동안 F3이 눌리기를 기다리고 있음 (In [*])

 

그 상태에서 F3을 누르면 

F3 is pressed 출력 

but, 한번만 출력될 줄 알았는데 수백번 찍힘

 

 

우리가 살짝 눌렀다해도 

컴퓨터 입장에서는 실제로는 수 us 이상, 혹은 수 ms 이상 눌려진 상태를 유지했기에 

 

사람의 인지 시간과 

컴퓨터의 인지 시간에 차이가 있어서 이런 현상이 발생!

 

이는 F3이 눌렸을 때에 print 한번 출력한 후

break로 나가게 하여 해결할 수 있지만, 

매번 동작하지는 않음. 일회성임 .

 

대기 상태에 있다가 -> F3 누르면 동작 후 

또 대기 상태로 가게 하려면 : while 문을 또 추가하여 사용하면 됨 

 

 

 

4. 이 방법을 이용해서, 여러 위치의 좌표를 한번에 뽑을 수 있음

  • 이 값들은 pos라는 변수에 계속 업데이트 되기 때문에, 
    1. 카카오 버튼,
    2. 비밀번호 입력 버튼,
    3. 로그인 버튼 각각을 직접 기억하고 있어야 함
  • 또는, list 변수를 만들어서 매번 리스트의 요소로 저장되게 만들 수도 있음 
  • 이를 이용해, 카카오 버튼 -> 비밀번호 입력 버튼 -> 로그인 버튼을 각각 저장시켜보면
  • pos_list에 잘 저장이 되어있는 것을 확인할 수 있음

  • 각각의 요소는 [0], [1]. [2]로 인덱싱 하여 접근할 수 있음