본문 바로가기
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)을 설정하는 것이 중요합니다.

    반응형

    댓글