카테고리 없음

[Selenium_외장모듈] pyautogui 키보드 조작

siwoobyeol 2024. 5. 6. 18:28

/출처: https://wikidocs.net/85709

pyautogui 라이브러리

파이썬에는 마우스와 키보드 제어를 도와주는 pyautogui라는 라이브러리가 있다.

📌 라이브러리 : “프로그램 개발을 쉽게 해주는 도구” 생각하면 된다.
라이브러리 설치 방법

터미널(cmd)에 다음 명령어를 입력해서 pyautogui를 설치

  • pip install pyautogui
화면 크기 출력
print(pyautogui.size())

현재 사용하고 있는 모니터 화면의 크기를 출력하는 명령어 ex) Size(width=2560, height=1440) 단위는 pixel


write() 함수
pyautogui.write('hello world!') # 괄호 안의 문자를 한번에 입력한다.
pyautogui.write('hello world!', interval=0.25) # 괄호 안의 각 문자를 0.25마다 타이핑 한다.(사람이 작성하는것 처럼)

※ pyautogui는 한글에 대한 적용이 안되어 있다. (지원 안함)
한글을 입력하려면, pyperclip 모듈을 통해서 한글을 복사 후 입력할 수 있다.

import pyautogui
import pyperclip

pyperclip.copy("안녕하세요") # 클립보드에 텍스트를 복사
pyautogui.hotkey('ctrl', 'v') # 붙여넣기

# hotkey 설명은 아래
# write함수만으로는 Shift 키나, Ctrl 키 등 문자가 아닌 키를 누를 수 없다.
press(), keyDown(), keyUp() 함수
# 문자가 아닌 키를 누르기 위해서는 prees() 함수를 사용하면 된다.
pyautogui.perss('shift') # shift 키를 누른다.
pyauitogui.perss('ctrl') # ctrl 키를 누른다.

prees() 함수는 keyDown()과 keyUp()함수를 같이 사용하는 것

- keyDown() 함수는 키를 누른채로 있는 것

- keyUp() 함수는 누른 키를 떼는 것

pyautogui.keyDown('ctrl') # ctrl 키를 누른 상태를 유지한다.
pyautogui.press('c') # c key를 입력한다.
pyautogui.keyUp('ctrl') # 누르고 있는 ctrl 키를 뗀다.

# 키를 여러번 입력하려면 다음과 같은 방시긍로 입력하면 된다.

pyautogui.press(['left', 'left', 'left']) # 왼쪽 방향키를 3번 입력
pyautogui.press('left', press=3) # 왼쪽 방향이 3번 입력
pyautogui.press('enter', press=3, interval=3) # enter 키를 3초에 한번씩 세번 입력한다.
hotkey() 함수

여러 키를 동시에 입력해야 할 때 keyDown()과 keyUp() 함수를 사용하면 상당히 불편하다.
그걸 편하게 해주는 함수가 바로, hotkey() 함수이다.

pyautogui.hotkey('ctrl', 'c') # ctrl + c 키를 입력한다.