예약 매크로프로그램 만들기 - yeyag maekeulopeulogeulaem mandeulgi

세상은 넓고 할 것은 많다.

캠핑장 예약 매크로 만들기! 본문

어느 날 누나가 캠핑장 예약이 너무 빨리 마감된다고 예약 매크로를 만들 수 없냐고 의뢰? 가 들어왔다.

(누나.. 나 개발자 아니야.....)

그래도 왠지 재미 있을것 같아 파이썬 첫 프로젝트로 예약 매크로 만들기로!!

어떻게 시작 할지 막연 하니 일단 구글링..ㅎㅎㅎ 역시 정보는 엄청 많이 있다.

여기저기 주워와 붙여 놓고 편집하고 만들기 시작!

진짜 개발자가 보면 엄청 허접 하겠지만...ㅠㅠ

파이썬의 selenium 모듈을 통해 자동화 기능을 구현할 수 있었다.

실행시킬 웹 브라우저를 불러온다. 크롬을 주로 사용하니 크롬으로 실행!

우선 크롬 웹 드라이버를 다운로드한다.

Download  :  chromedriver.chromium.org/downloads

버전에 맞는 크롬 드라이버를 다운로드한다.

크롬 버전은 [도움말] - [Chrome정보]에서 확인할 수 있다.

예약 매크로프로그램 만들기 - yeyag maekeulopeulogeulaem mandeulgi

클릭해야 될 버튼 속성 값 찾기

크롬에서 F12 버튼을 누르고 속성 값을 보면 button value 값을 볼 수 있다.

간단하게 원하는 value 값을 찾고 [ driver.find_element_by_xpath(xpath).click() ] 클릭!!

이렇게 원하는 값을 찾고 클릭, 한 땀 한 땀 만들었다.

예약 매크로프로그램 만들기 - yeyag maekeulopeulogeulaem mandeulgi
from selenium import webdriver import pyautogui #btn = pyautogui.confirm('시작') driver=webdriver.Chrome('C://chromedriver.exe') #크롬 드라이버 driver.get('https://camping.gtdc.or.kr/DZ_reservation/reserCamping.php?xch=reservation&xid=camping_reservation') #접속할 url #팝업 제거 xpath = "//input[@value='Y']" #테그+속성+속성값 driver.find_element_by_xpath(xpath).click() #클릭 함수 #팝업 제거 xpath = "//html/body/div[1]/div/div[2]/button" driver.find_element_by_xpath(xpath).click() #날짜 지정 xpath = "//button[@value='C:2020-11-26']" driver.find_element_by_xpath(xpath).click() #위치 지정 xpath = "//html/body/div[4]/table/tbody/tr/td[3]/div/div/div[4]/div/button[23]" driver.find_element_by_xpath(xpath).click() #구역 #A147 /html/body/div[4]/table/tbody/tr/td[3]/div/div/div[4]/div/button[47] #A148 /html/body/div[4]/table/tbody/tr/td[3]/div/div/div[4]/div/button[48] #A149 /html/body/div[4]/table/tbody/tr/td[3]/div/div/div[4]/div/button[49] #A150 /html/body/div[4]/table/tbody/tr/td[3]/div/div/div[4]/div/button[50] #D701 #D702 #D703 #D704 #D705 #인원지정 xpath = "//html/body/div[4]/table/tbody/tr/td[3]/div/div/table[1]/tbody/tr/td[4]/select/option[7]" driver.find_element_by_xpath(xpath).click() # 1명 : /html/body/div[4]/table/tbody/tr/td[3]/div/div/table[1]/tbody/tr/td[4]/select/option[2] # 2명 : /html/body/div[4]/table/tbody/tr/td[3]/div/div/table[1]/tbody/tr/td[4]/select/option[3] # 3명 : /html/body/div[4]/table/tbody/tr/td[3]/div/div/table[1]/tbody/tr/td[4]/select/option[4] # 4명 : /html/body/div[4]/table/tbody/tr/td[3]/div/div/table[1]/tbody/tr/td[4]/select/option[5] # 5명 : /html/body/div[4]/table/tbody/tr/td[3]/div/div/table[1]/tbody/tr/td[4]/select/option[6] #예약 기간 #2박3일 xpath = "//html/body/div[4]/table/tbody/tr/td[3]/div/div/div[5]/select/option[2]" driver.find_element_by_xpath(xpath).click() #예약 기간 #3박4일 #xpath = "//html/body/div[4]/table/tbody/tr/td[3]/div/div/div[5]/select/option[3]" #driver.find_element_by_xpath(xpath).click() #다음단계 xpath = "//html/body/div[4]/table/tbody/tr/td[3]/div/div/div[6]/button[2]" driver.find_element_by_xpath(xpath).click()

지금까지의  실행 영상

예약 매크로프로그램 만들기 - yeyag maekeulopeulogeulaem mandeulgi

만들다 보니 재미있어 이 매크로를 좀 더 발전해나갈 계획!!

최종 상상 모습..ㅎ 시작 누르면 자동으로 원하는 날짜 예약 가능하도록 구현 해봐야 겠다.

예약 매크로프로그램 만들기 - yeyag maekeulopeulogeulaem mandeulgi