반응형
Notice
Recent Posts
Recent Comments
Link
philaphillip
인터파크 예매 실패해서 만든 매크로 프로그램 - python 본문
반응형
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()
위 코드는 파이썬으로 작성 되었으며 위 코드를 실행하기 위해서 크롬 웹 드라이버를 설치해주어야 한다.
설치해줄때 자기 컴퓨터에 깔려있는 크롬 버전과 맞는 것으로 설치해주어야한다.
버전 확인은 우측 상단에 있는 점 3개 클릭후 -> 도움말 클릭 -> 크롬 정보를 클릭하면 볼 수 있다.
참고로 저기 사이트의 예매사이트 URL은 예매하고 싶은 티켓 사이트를 복사해야 사용할 수 있다
반응형
Comments