Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python을 사용한 마우스 및 키보드 자동화?

<시간/>

이 섹션에서는 파이썬에서 pyautogui 모듈을 사용하여 마우스와 키보드의 움직임을 자동화하려고 합니다.

Pyautogui는 다양한 작업을 수행하기 위해 마우스와 키보드를 제어할 수 있는 라이브러리입니다.

인간을 위한 크로스 플랫폼 GUI 자동화 Python 모듈입니다.

타사 라이브러리이므로 설치해야 합니다.

pyautogui를 pip 설치

마우스

다음은 마우스의 움직임을 자동화하는 프로그램입니다. 프로그램을 실행하면 모든 명령으로 마우스 움직임을 볼 수 있습니다. 마우스 움직임을 캡처하기 위해 CLI에서 아래 명령을 실행합니다. 다른 사람들과도 다른 가치를 시도해 볼 수 있습니다.

예시

>>> pyautogui 가져오기>>> pyautogui.size()Size(width=1366, height=768)>>> 너비, 높이 =pyautogui.size()>>> width1366>>> height768>>> pyautogui .position()Point(x=750, y=293)>>> pyautogui.position()Point(x=750, y=293)>>> pyautogui.position()Point(x=750, y=293)>>> pyautogui.moveTo(10, 10)>>> pyautogui.move(10, 10, 기간=1.5)>>> pyautogui.move(10, 10, 기간=1.5)>>>>>> pyautogui.move (10, 10, 기간=1.5)>>> pyautogui.move(10, 10, 기간=1.5)>>> pyautogui.move(10, 10, 기간=3.0)>>> pyautogui.moveRel(20, 0)>>> pyautogui.moveRel(250,0)>>> pyautogui.moveRel(250, 0, 기간=2.5)>>> pyautogui.moveRel(0, -100)>>> pyautogui.moveRel(0, -150, duration=1.5)>>> pyautogui.position()Point(x=210, y=526)>>> pyautogui.click(339, 38)>>> pyautogui.click()

위의 프로그램을 실행하면 기간을 설정하면 해당 기간 동안 마우스 움직임이 계속된다는 것을 알 수 있습니다. 마지막 명령인 pyautogui.click()에 대한 컨트롤을 다시 얻으려면 Esc 키를 누르십시오.

키보드 제어 기능

typewrite() 함수

기본 키보드 기능은 typewrite()입니다. 이 함수는 전달된 문자열의 문자를 입력합니다. 각 문자 키를 누르는 사이에 지연 간격을 추가하려면 간격 키워드 인수에 int 또는 float를 전달하십시오.

>>> pyautogui.typewrite('Hello, TutorialsPoint!') #'Hello, Tutorialspoint!'를 출력합니다. 즉시>>> TutorialsPoint 안녕하세요!>>> pyautogui.typewrite('Hello, TutorialsPoint!', interval=0.25) #'Hello, Tutorialspoint!'를 출력합니다. 각 문자 후 1/4초 지연>>> TutorialsPoint, 안녕하세요!

press(), keyDown() 및 keyUp() 함수

이 키를 누르려면 press() 함수를 호출하고 pyautogui.KEYBOARD_KEYS에서 문자열을 전달하십시오(예:enter, esc, f1.

>>> pyautogui.press('enter') #Enter 키 누르기>>>>>> pyautogui.press('f1') #F1 키 누르기>>> p>
>> pyautogui.press(' left') #왼쪽 화살표 키를 누르십시오.

typewrite()가 하는 것과 유사한 여러 키를 누르려면 다음과 같이 문자열 목록을 press()에 전달하십시오.

>>> pyautogui.press(['왼쪽','왼쪽', '왼쪽'])

단축키() 함수

단축키 또는 키보드 단축키를 편리하게 누르기 위해 단축키()에 여러 키 문자열을 전달할 수 있습니다. 이 문자열은 순서대로 눌렸다가 역순으로 해제됩니다.

>>> pyautogui.hotkey('ctrl', 'shift', 'esc')

위를 실행하면 내 컴퓨터(windows)에서 '작업 관리자' 창이 열립니다.

위는 프로그램 아래에서 실행하는 것과 동일합니다-

>>> pyautogui.keyDown('ctrl')>>> pyautogui.keyDown('shift')>>> pyautogui.keyDown('esc')>>> pyautogui.keyUp('esc')>>> pyautogui.keyUp('shift')>>> pyautogui.keyUp('ctrl')

다음은 몇 가지 pyautogui 키보드 기능을 보여 주는 프로그램입니다-

>>> import pyautogui>>> pyautogui.click(90, 90)>>> pyautogui.click(90, 90);pyautogui.typewrite('Hello, World!')>>> pyautogui.click(150 , 150)>>> pyautogui.click(150, 150);pyautogui.typewrite('Hello, World!')>>> pyautogui.click(150, 150);pyautogui.typewrite('Hello, World!', 간격 =0.2)>>> pyautogui.click(150, 150);pyautogui.typewrite(['A', 'B', '왼쪽', '왼쪽', 'x', 'y'])>>> pyautogui. click(150, 150);pyautogui.typewrite(['A', 'B', '왼쪽', '왼쪽', 'x', 'y'], 간격=1)>>> pyautogui.KEYBOARD_KEYS['\ t', '\n', '\r', ' ', '!', '"', '#', '$', '%', '&', "'", '(', ') ', '*', '+', ',', '-', '.', '/', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', ':', ';', '<', '=', '>', '?', '@', '[', '\ \', ']', '^', '_', '`', 'a', 'b', 'c', 'd', 'e', ​​'f', 'g', 'h' , 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', ' u', 'v', 'w', 'x', 'y', 'z', '{', '|', '}', '~', '수락', '추가', 'alt' , 'altleft', 'altright', 'apps', 'backspace', 'browserback', 'browserfavorites', 'browserforward', 'browserho' me', 'browserrefresh', 'browsersearch', 'browserstop', 'capslock', 'clear', 'convert', 'ctrl', 'ctrlleft', 'ctrlright', 'decimal', 'del', 'delete' , '나누기', '아래로', '끝', '입력', 'ESC', '이스케이프', '실행', 'f1', 'f10', 'f11', 'f12', 'f13', ' f14', 'f15', 'f16', 'f17', 'f18', 'f19', 'f2', 'f20', 'f21', 'f22', 'f23', 'f24', 'f3' , 'f4', 'f5', 'f6', 'f7', 'f8', 'f9', '결말', 'fn', '한글', '한글', '한자', '도움말', ' home', 'insert', 'junja', 'kana', '한자', 'launchapp1', 'launchapp2', 'launchmail', 'launchmediaselect', 'left', 'modechange', 'multiply', 'nexttrack' , '비변환', 'num0', 'num1', 'num2', 'num3', 'num4', 'num5', 'num6', 'num7', 'num8', 'num9', 'numlock', ' pagedown', 'pageup', '일시 중지', 'pgdn', 'pgup', 'playpause', 'prevtrack', 'print', 'printscreen', 'prntscrn', 'prtsc', 'prtscr', 'return' , '오른쪽', '스크롤 잠금', '선택', '구분 기호', '이동', '왼쪽으로 이동', '오른쪽으로', '잠자기', '공백', '중지', '빼기', '탭', ' 업', '볼륨다운', '볼륨뮤트', '볼륨업', '승리', ' winleft', 'winright', 'yen', 'command', 'option', 'optionleft', 'optionright']>>>>>> pyautogui.click(100,100);>>> pyautogui.click(100,100); pyautogui.typewrite('Hello world!')>>> Hello world!>>> pyautogui.click(100,100); pyautogui.typewrite('Hello world!', interval=0.5)>>> Hello world!>>> pyautogui.click(100,100); pyautogui.typewrite(['a', 'b', '왼쪽)', '왼쪽', 'X', 'Y'])>>> aXYb>>> pyautogui.click(100,100); pyautogui.typewrite(['a', 'b', '왼쪽', '왼쪽', 'X', 'Y'])>>> XYab>>> pyautogui.click(100,100); pyautogui.typewrite(['a', 'b', '왼쪽', '왼쪽', 'X', 'Y'], 간격=1)>>> XYab>>> pyautogui.press('f1')