본문 바로가기
Dev/Python Macro

파이썬 인터파크 티켓 예매 페이지로 이동하는 매크로 스크립트

by 하양동백 2024. 2. 14.

목차

    파이썬 인터파크 티켓 예매 페이지로 이동하는 매크로 스크립트

    인터파크 티켓 예매 페이지로의 자동 이동은 티켓 구매 과정에서 중요한 첫 걸음입니다. 이 과정을 통해 사용자는 공연명을 검색하고, 검색 결과에서 원하는 공연의 예매 페이지로 직접 이동할 수 있습니다. Selenium과 Python을 사용하여 이 과정을 자동화함으로써 사용자는 빠르고 효율적으로 원하는 티켓을 찾을 수 있습니다.

    1. 웹 드라이버 설정

    먼저 Selenium 웹 드라이버를 설정합니다. 이 예에서는 Google Chrome을 사용하며, 크롬 옵션을 설정하여 브라우저가 스크립트 실행 후에도 닫히지 않도록 합니다.

    from selenium import webdriver
    from selenium.webdriver.chrome.options import Options
    
    chrome_options = Options()
    chrome_options.add_experimental_option("detach", True)
    driver = webdriver.Chrome(options=chrome_options)
    driver.set_window_size(1900, 1000)  # 브라우저 창 크기 설정

    2. 인터파크 티켓 사이트 접속

    인터파크 티켓의 메인 페이지로 이동합니다. 이 페이지에서 시작하여 사용자는 로그인 후 티켓 검색을 시작할 수 있습니다.

    driver.get(url='https://tickets.interpark.com/')

    3. 로그인 과정 자동화

    사용자의 인터파크 로그인 정보를 사용하여 자동 로그인을 수행합니다. 이는 로그인 필요한 서비스 이용 시 필수적인 단계입니다.

    driver.find_element(By.LINK_TEXT, '로그인').click()
    driver.switch_to.frame(driver.find_element(By.XPATH, "//div[@class='leftLoginBox']/iframe[@title='login']"))
    userId = driver.find_element(By.ID, 'userId')
    userPwd = driver.find_element(By.ID, "userPwd")
    userId.send_keys('아이디')  # 여기서 '아이디'와 '패스워드'를 사용자의 로그인 정보로 대체해야 합니다.
    userPwd.send_keys('패스워드')
    userPwd.send_keys(Keys.ENTER)

    4. 티켓 검색 및 예매 페이지로 이동

    로그인 후 메인 페이지에서 공연명을 검색하고, 검색 결과에서 해당 공연의 상세 예매 페이지로 넘어갑니다. 이는 Selenium의 검색 및 클릭 기능을 활용합니다.

    search = driver.find_element(By.XPATH,'//*[@id="__next"]/div/header/div/div[1]/div/div[1]/div[3]/div/input')
    search.send_keys('공연명')  # 공연명은 사용자가 원하는 공연의 정확한 이름으로 대체
    search.send_keys(Keys.ENTER)
    
    # 예매 페이지로 이동
    time.sleep(2)  # 페이지 로딩을 위해 잠시 대기
    driver.find_element(By.XPATH,'//*[@id="__next"]/div/main/div/div/div[1]/div[2]/a[1]/div[1]').click()

    마무리

    이 스크립트는 인터파크에서 원하는 공연의 티켓 예매 페이지로 자동으로 이동할 수 있게 해줍니다. 이를 통해 사용자는 더욱 빠르고 편리하게 원하는 티켓을 검색하고 접근할 수 있습니다. 그러나 이 과정에서는 사이트의 로딩 시간과 안정성을 고려하여 적절한 대기 시간(time.sleep)을 설정하는 것이 중요합니다.

    반응형

    댓글