개발/파이썬 업무 자동화

실습 - 키보드 자동화

이게될까 2024. 2. 21. 01:51
728x90
728x90

일반 문자

A,B와 같은 문자

조합키
특별키

리스트 형식으로 입력해주면 된다!

특별키의 목록은 KEY_NAMES[]를 통해 확인!

import pyautogui
# 메모장이나 계산기를 켜놔야 입력이 된다!
pyautogui.click(400,300)# 메모장 위치
pyautogui.typewrite('hello my name is yopeyopeyo', interval=0.1)#키보드로 입력이 된다. 시간 텀을 둘 수 있다. 어디에 키를 입력할지도 중요하다!
# 프로그램의 상대적인 위치도 알 수 있으니 그렇게 해도 된다!

메모장 위치 찾기!

메모장을 실행해서 입력하는 과정!

위의 사진을 통해 상대적인 위치를 찾는다.

import pyautogui
from subprocess import Popen
import time
Popen('notepad') # 실행 
time.sleep(1)# 실행되는데 기다리는 시간 필요!
# 실행 위치 파악해야 한다! -> 캡쳐본 필요
tp = pyautogui.locateOnScreen('notepad.png') # 이미지의 좌표를 저장

pyautogui.click(tp[0]+10,tp[1]+100)
pyautogui.typewrite('what does the fox say',interval= 0.2)

이번엔 계산기 !

import pyautogui
from subprocess import Popen
import time


Popen('calc') # 실행 
time.sleep(1.5)# 실행되는데 기다리는 시간 필요!

pyautogui.typewrite('123 + 456 = ',interval= 0.2)
time.sleep(5)

이번엔 다양한 모드 변경!

import pyautogui
from subprocess import Popen
import time


Popen('calc') # 실행 
time.sleep(1.5)# 실행되는데 기다리는 시간 필요!
# 모드!
pyautogui.hotkey('alt','2',interval=0.5)# 공학모드 전환 동시 입력은 잘 안될때가 있어서 텀은 항상 준다.

pyautogui.press(['f3'])# degree 모드! 이건 특별키다!
### 특별 키 확인 
pyautogui.KEY_NAMES

pyautogui.typewrite('90s = ',interval=0.2)# 연산
time.sleep(1) # 잠깐 대기

pyautogui.press(['esc'])# 화면 지우기

time.sleep(1)


pyautogui.hotkey('alt','1',interval=0.5)# 일반 모드로 전환 꼭 숫자도 문자처럼 입력해줘야 한다!

한글은 어떻게 하나!

한글을 한글로 입력하는게 아니라 영어로 입력하기

이번엔 메모장에 한글 작

import pyautogui
from subprocess import Popen
import time


Popen('notepad') # 실행 
time.sleep(1)

pyautogui.press(['hangul'])# 한글 모드 전환은 특별 !

pyautogui.typewrite('dkssudgktpdy qksrkdnjdy wkfdlTdjdy ektl aks skdy',interval=0.1)

이렇게 사용하기 보다는 클립보드 형식으로도 많이 사용된다.

import pyautogui
from subprocess import Popen
import time
import pyperclip

Popen('notepad') # 실행 
time.sleep(1)

str = '''
나는요
오빠가
좋은걸'''

# 클립보드에 저장할 필요가 있다.
pyperclip.copy(str) # 문자열 복사
pyautogui.hotkey('ctrl','v') # 붙여넣기

이렇게하면 가독성이 훨씬 올라간다.

728x90