본문 바로가기

파이썬 python/파이썬 활용

[python] 오토마우스를 활용한 웹페이지 자동화 프로그램 만들기

이번 포스팅에서는 오토마우스를 활용해서 웹페이지를 자동화할 수 있는 프로그램을 만들어보도록 하겠습니다 !

 

<마우스의 좌표를 출력하는 코드 만들기>

 

1. pyautogui 라이브러리 설치해주기 

라이브러리  = 패키지의 묶음 
패키지 = 모듈의 묶음 

vs 코드에서 하던대로, 모듈이 없다고 뜬다 ..

 

왜 이런가해서 물어봤더니, 파이참은 vs code와 달리 터미널에서 라이브러리를 설치하는게 아니라, IDE 내에서 따로 라이브러리를 설치해준다고 한다!

설정 > Python 인터프리터 > (+) 버튼 누르기 > 원하는 패키지 이름 검색 > 패키지 설치 버튼 눌러주기 

그럼 이렇게 오류 없이 잘 임포트되는 것을 볼수 있다. 

 

2. pyautogui 모듈의 position() 메소드로 마우스 좌표 값 출력해주기 

 

time.sleep(0.1)로 0.1초 기다려주면, 0.1초 동안의 좌표들이 터미널 창에 나온다. 

 

 

<네이버에서 자동으로 서울 날시를 검색하는 코드 만들기>

 

1. 필요한 모듈 임포트 하기 

pyperclip 라이브러리 = 클립보드에 값을 복사, 붙여넣기할 수 있는 라이브러리 
* pyautogui는 한글이 지원되지 않아, 검색에 필요한 한글을 클립보드를 이용하여 사용 

 

import pyautogui : 마우스, 키보드 자동제어 

import time : 시간 다루기 

import pyperclip : 클립보드에 값 복사, 붙여 넣기 하기 

 

2. 검색창으로 이동하기 

 

초록색 검색창의 좌표는 위의 마우스 좌표 출력하는 코드를 활용하여, 가져와 준다. 

 

pyautogui.moveTo(x, y, 시간)

시간 파라미터 동안 x, y 좌표로 이동할 수 있는 코드.

pyautigui의 오토마우스 라이브러리 기능 중 하나인 moveTo를 활용하면 된다! 

 

 

3. 클립보드로 검색어 복사 붙여 넣기하기 

 

pyperclip.copy("복사할 내용")
pyautogui.hotkey("ctrl", "v")

pyperclip.copy로 검색어를 복사하고, hotkey를 이용해서 두 개의 키를 동시에 누른다. 

 

4. enter 누르기 

pyautogui.write(["enter"])

마지막으로 엔터키를 눌러주면 완성!

이렇게 잘 나오는 걸 볼 수 있다 !!!

 

<서울 날씨 화면 자동 캡쳐 후 저장하는 코드 만들기> 

사담이지만, 이 부분은 하다가 오류나서 다 지우고 그냥 원래 쓰던 vs코드로 넘어갔다... 

아까 만든 코드에서, 좌표 캡쳐만 하면 된다. 

좌표 캡쳐할때는 screenshot만 넣어주면 된다. 

pyautogui.screenshot(r'저장경로\파일명.jpg', region=(X좌표, Y좌표, 가로 사이즈, 세로 사이즈))

자, 여기서 위와 아래 코드의 차이가 보이시나요 ?

바로 r의 유무입니다. 

[raw 문자열 포함 방법]

r = 역슬래쉬(\)를 문자열 자체에 포함 시킬 수 있는 방법
변수명 = r'문자열'

print("\\path\\test.py") -> \path\test.py
print(r'\\path\\test.py') -> \\path\\test.py

현재 폴더가 하나로 관리되고 있으므로, 따로 상대경로를 입력하지 않고, 파일명과 확장자만 적어주어도 저장이 잘 되는 것을 볼 수 있다. 상위 폴더가 있는 경우에는 상대 경로 적어주기 !

 

상대경로와 절대경로에 대해서는, 

https://wikidocs.net/153154 이 블로그를 참고해보세요... 

 

후 드디어 포스팅 하나 끝... 

사실 뒤에 하나 더 있지만, 분량 조절 실패로 내용이 너무 많아진 관계로 여기서 이만 줄이려고 한다. 

그래도 하루에 한시간씩은 공부를 좀 하는게 재밌다! 삶의 질도 높아지고 ~