philaphillip

인터파크 예매 실패해서 만든 매크로 프로그램 - python 본문

프로그래밍/파이썬

인터파크 예매 실패해서 만든 매크로 프로그램 - python

잡식블로그 2024. 1. 6. 01:55
반응형
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.ui import Select
import time

# 1. 셀레니움 열기
driver = webdriver.Chrome()

# 2. 로그인 페이지로 이동
login_url = "https://ticket.interpark.com/Gate/TPLogin.aspCPage=B&MN=Y&tid1=main_gnb&tid2=right_top&tid3=login&tid4=login"
driver.get(login_url)

# 3. 아이디, 패스워드 입력
username = "your_username"
password = "your_password"
driver.find_element(By.ID, "userId").send_keys(username)
driver.find_element(By.ID, "userPwd").send_keys(password)

# 4. 로그인 버튼 클릭
driver.find_element(By.ID, "btn_login").click()

# 5. 티켓 예약 사이트로 이동
reservation_url = "https://ticket.interpark.com/Ticket/Goods/TPBridge.asp?GoodsCode=23015004"
driver.get(reservation_url)

# 6. 날짜 선택
date_selector = driver.find_element(By.ID, "date_selector")
date_selector.click()

# 7. 회차 선택
time_selector = driver.find_element(By.ID, "time_selector")
time_selector.click()

# 8. 예매하기 버튼 클릭
driver.find_element(By.ID, "btn_reserve").click()

# 9. 자동 매크로 방지 영어 입력
# (자동 매크로 방지가 포함된 사이트의 경우 해당 입력 필드에 값을 넣어야 합니다.)
captcha_input = driver.find_element(By.ID, "captcha_input")
captcha_input.send_keys("your_captcha")  # 자동 매크로 방지 문자를 수동으로 입력

# 10. 좌석 선택
seat_selector = driver.find_element(By.ID, "seat_selector")
seat_selector.click()

# 11. 좌석선택완료 버튼 클릭
driver.find_element(By.ID, "btn_seat_reserve").click()

# 12. 매수 선택
quantity_select = Select(driver.find_element(By.ID, "quantity_selector"))
quantity_select.select_by_visible_text("1")

# 13. 다음단계 버튼 클릭
driver.find_element(By.ID, "btn_next_step").click()

# 14. 생년월일 입력
driver.find_element(By.ID, "birthdate").send_keys("your_birthdate")

# 15. 다음단계 버튼 클릭
driver.find_element(By.ID, "btn_next_step").click()

# 16. 무통장입금 선택
payment_method = driver.find_element(By.ID, "payment_method")
payment_method.click()

# 17. 입금 은행 선택
bank_select = Select(driver.find_element(By.ID, "bank_selector"))
bank_select.select_by_visible_text("your_bank")

# 18. 다음단계 버튼 클릭
driver.find_element(By.ID, "btn_next_step").click()

# 19. 체크 버튼 클릭
driver.find_element(By.ID, "agree_checkbox").click()

# 20. 결제하기 버튼 클릭
driver.find_element(By.ID, "btn_payment").click()

# 코드 실행 완료 후 브라우저 닫기
time.sleep(5)  # 충분한 대기 시간을 확보하기 위해 5초 동안 대기
driver.quit()

 

 

위 코드는 파이썬으로 작성 되었으며 위 코드를 실행하기 위해서 크롬 웹 드라이버를 설치해주어야 한다.

 

 

 

 

웹드라이버 설치 사이트

 

ChromeDriver - WebDriver for Chrome - Downloads

Current Releases If you are using Chrome version 115 or newer, please consult the Chrome for Testing availability dashboard. This page provides convenient JSON endpoints for specific ChromeDriver version downloading. For older versions of Chrome, please se

chromedriver.chromium.org

 

 

 

설치해줄때 자기 컴퓨터에 깔려있는 크롬 버전과 맞는 것으로 설치해주어야한다.

 

버전 확인은 우측 상단에 있는 점 3개 클릭후 -> 도움말 클릭 -> 크롬 정보를 클릭하면 볼 수 있다.

 

 

참고로 저기 사이트의 예매사이트 URL은 예매하고 싶은 티켓 사이트를 복사해야 사용할 수 있다

반응형
Comments