PyAutoGUI 설명서
-
PyAutoGUI 설명서에 오신 것을 환영합니다!
PyAutoGUI를 사용하면 Python 스크립트가 마우스와 키보드를 제어하여 다른 애플리케이션과의 상호 작용을 자동화할 수 있습니다. API는 간단하게 설계되었습니다. PyAutoGUI는 Windows, macOS 및 Linux에서 작동하며 Python 2 및 3에서 실행됩니다.pip로 설치하려면 .을 실행합니다 . 자세한 내용은 설치 페이지를 참조하세요.pip install pyautogui
소스 코드는 https://github.com/asweigart/pyautogui 에서 확인할 수 있습니다.
PyAutoGUI에는 여러 가지 기능이 있습니다.
마우스를 움직이고 다른 응용 프로그램의 창을 클릭합니다.
애플리케이션에 키 입력을 전송합니다(예: 양식 작성).
스크린샷을 찍고 이미지(예: 버튼이나 체크박스)가 주어지면, 화면에서 해당 이미지를 찾으세요.
애플리케이션 창을 찾아 이동, 크기 조절, 최대화, 최소화 또는 닫습니다(현재 Windows에만 해당).
경고 및 메시지 상자를 표시합니다.
다음은 Sushi Go Round 게임을 자동으로 플레이하는 봇의 YouTube 동영상 입니다 . 봇은 게임의 애플리케이션 창을 보고 초밥 주문 이미지를 검색합니다. 주문 이미지를 찾으면 재료 버튼을 클릭하여 초밥을 만듭니다. 또한 게임 내에서 전화를 클릭하여 필요에 따라 더 많은 재료를 주문합니다. 봇은 완전히 자율적이며 7일간의 게임을 모두 마칠 수 있습니다. 이것이 PyAutoGUI가 할 수 있는 자동화의 종류입니다.예시
import pyautogui
screenWidth, screenHeight = pyautogui.size() # Get the size of the primary monitor.
screenWidth, screenHeight
(2560, 1440)currentMouseX, currentMouseY = pyautogui.position() # Get the XY position of the mouse.
currentMouseX, currentMouseY
(1314, 345)pyautogui.moveTo(100, 150) # Move the mouse to XY coordinates.
pyautogui.click() # Click the mouse.
pyautogui.click(100, 200) # Move the mouse to XY coordinates and click it.
pyautogui.click('button.png') # Find where button.png appears on the screen and click it.pyautogui.move(400, 0) # Move the mouse 400 pixels to the right of its current position.
pyautogui.doubleClick() # Double click the mouse.
pyautogui.moveTo(500, 500, duration=2, tween=pyautogui.easeInOutQuad) # Use tweening/easing function to move mouse over 2 seconds.pyautogui.write('Hello world!', interval=0.25) # type with quarter-second pause in between each key
pyautogui.press('esc') # Press the Esc key. All key names are in pyautogui.KEY_NAMESwith pyautogui.hold('shift'): # Press the Shift key down and hold it.
pyautogui.press(['left', 'left', 'left', 'left']) # Press the left arrow key 4 times.Shift key is released automatically.
pyautogui.hotkey('ctrl', 'c') # Press the Ctrl-C hotkey combination.
pyautogui.alert('This is the message to display.') # Make an alert box appear and pause the program until OK is clicked.
이 예제에서는 MS Paint(또는 다른 그래픽 그리기 프로그램)에서 마우스를 사각형 나선 모양으로 끕니다.distance = 200
while distance > 0:
pyautogui.drag(distance, 0, duration=0.5) # move right
distance -= 5
pyautogui.drag(0, distance, duration=0.5) # move down
pyautogui.drag(-distance, 0, duration=0.5) # move left
distance -= 5
pyautogui.drag(0, -distance, duration=0.5) # move up
_이미지/사각형_나선형.png
이미지 파일을 직접 생성하는 스크립트와 달리 PyAutoGUI를 사용하는 이점은 MS Paint에서 제공하는 브러시 도구를 사용할 수 있다는 것입니다.FAQ: 자주 묻는 질문
질문은 al @ inventwithpython .com 으로 보내주세요 .질문: PyAutoGUI는 Android, iOS 또는 태블릿/스마트폰 앱에서 작동할 수 있나요?
A: 안타깝게도 아닙니다. PyAutoGUI는 Windows, macOS, Linux에서만 실행됩니다.
질문: PyAutoGUI는 다중 모니터 설정에서도 작동하나요?
A: 아니요. 현재 PyAutoGUI는 기본 모니터만 처리합니다.
질문: PyAutoGUI는 OCR을 수행하나요?
대답: 아니요. 하지만 이 기능은 로드맵에 있습니다.
질문: PyAutoGUI는 키로깅을 할 수 있나요? 즉, 현재 키가 눌려 있는지 감지할 수 있나요?
A: 아니요, PyAutoGUI는 현재 이 작업을 수행할 수 없습니다.
실패 방지 장치
_이미지/마법사_견습생_빗자루.png
마법사의 견습생의 마법에 걸린 빗자루가 욕조에 물을 계속 채우고(그리고 너무 많이 채우도록) 프로그램된 것처럼, 프로그램의 버그로 인해 프로그램이 제어 불능이 될 수 있습니다. 마우스 커서가 저절로 움직이는 경우 마우스를 사용하여 프로그램을 닫기 어렵습니다.안전 기능으로, 기본적으로 장애 안전 기능이 활성화됩니다. PyAutoGUI 함수가 호출되면 마우스가 기본 모니터의 네 모서리에 있으면 .을 발생시킵니다 pyautogui.FailSafeException. 모든 PyAutoGUI 함수를 호출한 후 1/10초의 지연이 발생하여 사용자가 마우스를 모서리에 박아 장애 안전 기능을 트리거할 시간을 줍니다.
이 안전장치를 비활성화하려면 . 을 설정하세요. 안전장치를 비활성화하지 않는 것을 강력히 권장합니다.pyautogui.FAILSAFE = False
10분의 1초 지연은 pyautogui.PAUSE설정에 의해 설정되며, 이는 0.1기본 설정입니다. 이 값을 변경할 수 있습니다. 또한 pyautogui.DARWIN_CATCH_UP_TIMEmacOS에서 키보드 및 마우스 이벤트 후에 추가 지연을 추가하는 설정도 있는데, PyAutoGUI가 이러한 이벤트를 발생시킨 후에 운영 체제에 지연이 필요한 것으로 보이기 때문입니다. 이는 0.01기본적으로 설정되어 있으며, 100분의 1초 지연이 추가됩니다.
내용물:
설치
윈도우
맥 OS
리눅스
치트 시트
일반 기능
실패 방지 장치
마우스 기능
키보드 기능
메시지 상자 기능
스크린샷 기능
마우스 제어 기능
화면 및 마우스 위치
마우스 움직임
마우스 드래그
트윈/이지 함수
마우스 클릭
mouseDown() 및 mouseUp() 함수
마우스 스크롤링
키보드 제어 기능
write() 함수
press(), keyDown() 및 keyUp() 함수
hold() 컨텍스트 관리자
hotkey() 함수
키보드 키
메시지 상자 기능
alert() 함수
confirm() 함수
prompt() 함수
password() 함수
스크린샷 기능
screenshot() 함수
위치 찾기 기능
테스트
테스트된 플랫폼
로드맵
피오토구이
pyautogui 패키지
이 문서는 아직 작업 중입니다.인덱스와 표
색인
모듈 인덱스
검색 페이지