[python, 그래픽] [파이썬 활용] 마우스 자동화 (pyautogui) 

[파이썬 활용] 마우스 자동화 (pyautogui)

 

안녕하세요.

오늘은 파이썬을 활용하여 마우스를 자동으로 움직이는 법을 알아보겠습니다.

초중고 아이들이 배워야 하는 내용은 아니고요,

회사원이라면 유용하게 사용할만한 프로그램인 것 같습니다.

간단히 소개드릴테니 파이썬에 대해 어느 정도 아시는 분은 활용하시면 좋겠습니다. ^^


pyautogui 라는 라이브러리가 있습니다.

이 라이브러리는 마우스를 움직이는 함수들이 들어 있습니다.

예를 들어, pyautogui.moveTo(100, 100) 이라고 하면, 마우스를 (100, 100)으로 이동하라는 것입니다.

그런데 사람마다 사용하는 모니터가 다르기 때문에, 저 (100, 100)이 어디인지 정확히 잘 모릅니다.

그래서 저 좌표를 구해야 합니다. 역시 pyautogui에 들어있는 position 함수로 구할 수 있습니다.

[pyautogui 라이브러리 설치하기]

cmd를 열고 아래 코드를 입력하여 설치합니다.

pip install pyautogui

경축! 아무것도 안하여 에스천사게임즈가 새로운 모습으로 재오픈 하였습니다.
어린이용이며, 설치가 필요없는 브라우저 게임입니다.
https://s1004games.com

[마우스의 x좌표, y좌표 구하기]

import pyautogui, time while 1: mousePositionX, mousePositionY = pyautogui.position() print(mousePositionX,",",mousePositionY) time.sleep(1)

이 코드를 실행하면 마우스의 좌표가 출력됩니다.

그러면 마우스를 좌표를 복사하면 됩니다. (물론 마우스가 움직임에 따라 숫자가 계속 변하기 때문에, 알고 싶은 곳을 좀 길게 마우스로 가리켜 두면 어딘지 쉽게 찾을 수 있습니다.)

[웨일 브라우저의 캡쳐 기능을 이용해 자동 캡쳐하기]

작업을 하다 보면 같은 위치를 계속해서 캡쳐해야 하는 일이 있습니다.

그럴 땐 단순 반복 작업이니까 컴퓨터에게 시키고 싶지요.

그럴 경우 아래 코드를 사용할 수 있습니다.

import pyautogui, time # 캡쳐 버튼 누르기 pyautogui.moveTo(-2838, 96) pyautogui.click() time.sleep(2) # 캡쳐 레이어에서 직접 선택 버튼 누르기 pyautogui.moveTo(-3184, 236) pyautogui.click() time.sleep(2) # 캡쳐 영역 선택하기 pyautogui.moveTo(-4994, 546) pyautogui.dragTo(-2786, 1668, duration=2, button='left') time.sleep(2) pyautogui.mouseUp(-2786, 1668, button='left') time.sleep(2) # 저장 버튼 누르기 pyautogui.moveTo(-3064, 1006) pyautogui.click() time.sleep(2)

이 코드를 실행하면 웨일 브라우저에서 캡쳐 버튼 -> 직접 지정 버튼을 누른 후, 마우스로 영역을 선택하여 캡쳐하여 저장하게 됩니다. (웨일 브라우저에서 미리 내 컴퓨터에 저장 옵션을 선택해 두어야 합니다.)

이 코드는 제 모니터 기준으로, 제가 원하는 부분을 캡쳐하는 거라서 좌표는 바꿔야 됩니다.

그리고 페이지 넘기는 버튼을(이 있다면) 누르는 코드를 추가하고 for 루프에 넣어서 반복시키면 더 편하게 캡쳐할 수 있겠습니다.


이 포스팅은 아래 링크에 소개된 pyautogui 의 사용법 참고하였습니다.

https://omnic.tistory.com/18

 

 

 

본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
번호 제목 글쓴이 날짜 조회 수
102 [python 인터넷] 초간단 API서버 만들기 - 1부 (Python + Flask + Apache) file 졸리운_곰 2023.01.24 324
101 [python][인터넷] Flask 또는 Django를 Production 서버로 배포(Deploy)하기 file 졸리운_곰 2023.01.17 294
100 [python, 인터넷] Web Search Engine, 인터넷 검색 엔진 구현 file 졸리운_곰 2023.01.16 438
99 [Amazon S3 clone] minio 설치 및 파이썬 업로드 스크립트 졸리운_곰 2022.12.24 254
98 [python 인터넷] Python으로 XML-RPC 서버 구축 file 졸리운_곰 2022.06.28 501
97 [python 인터넷][네이버 뉴스 크롤링] python crawling - 네이버 뉴스 기사 크롤링 file 졸리운_곰 2022.06.28 356
96 [python 인터넷] How to Select CheckBox and Radio Button in Selenium WebDriver 졸리운_곰 2021.11.26 497
95 [python 인터넷] [Python] Selenium 사용하기 (+PhantomJS) file 졸리운_곰 2021.11.26 364
94 [python 인터넷] Python Selenium(셀레니움) 크롬창 활성 탭 변경하기 file 졸리운_곰 2021.11.26 366
93 [python 인터넷 ,selenium] selenium iframe 처리하기 file 졸리운_곰 2021.11.26 541
92 [python 인터넷] Selenium에서 특정 element가 갑자기 클릭이 되지 않을 때 (python) 졸리운_곰 2021.11.26 283
91 [python 인터넷] Selenium Python button 클릭 file 졸리운_곰 2021.11.26 311
90 [python 인터넷] Tor browser 로 selenium webdriver 크롤링 ip 우회 [Windosws] 졸리운_곰 2021.11.26 334
89 [python 인터넷] 파이썬 셀레니움을 이용한 DC인사이드 자동 글쓰기 file 졸리운_곰 2021.11.26 500
88 [Python][Dash] DASH PLOTLY 설치부터 튜토리얼까지 졸리운_곰 2021.09.11 383
87 python - 국가공휴일 데이터 가져오기 (data.go.kr) file 졸리운_곰 2021.09.05 220
86 [python][web] Separate Front-end from Back-end with Flask+AJAX file 졸리운_곰 2021.08.13 267
85 [scrapy] https://pypi.org/project/scrapy-save-as-pdf/ 졸리운_곰 2021.07.03 473
84 Pipeline to Download PDF or Save page as PDF for scrapy item 졸리운_곰 2021.06.26 302
83 [python, 인터넷] [카프카] Python으로 Kafka에 전송(Producer)하고 가져오기(consumer) file 졸리운_곰 2021.06.19 434
대표 김성준 주소 : 경기 용인 분당수지 U타워 등록번호 : 142-07-27414
통신판매업 신고 : 제2012-용인수지-0185호 출판업 신고 : 수지구청 제 123호 개인정보보호최고책임자 : 김성준 sjkim70@stechstar.com
대표전화 : 010-4589-2193 [fax] 02-6280-1294 COPYRIGHT(C) stechstar.com ALL RIGHTS RESERVED