매크로 개발 포스팅에 앞서,
매크로 개발 자체는 불법은 아닙니다만, 이를 이용한 암표 거래는 불법입니다.
그리고, 이 매크로는 파이썬을 처음 써보는 필자가 만든 것이므로 안될 겁니다.
https://dev-playground.tistory.com/4
[Python] 인터파크 티켓팅 기본 매크로 개발 - 1 (브라우저열기)
매크로 개발 포스팅에 앞서,매크로 개발 자체는 불법은 아닙니다만, 이를 이용한 암표 거래는 불법입니다. 그리고, 이 매크로는 파이썬을 처음 써보는 필자가 만든 것이므로 안될 겁니다. 하도
dev-playground.tistory.com
인터파크 로그인 창을 열었으니 로그인을 시도함.
selenium은 webdriver의 get 함수에 변수 URL을 입력하면 해당 URL에 관련 된 HTML 요소들을 받아 온다고 함.
로그인 창을 열었으니 driver 변수에 로그인 화면을 구성하고 있는 HTML 요소가 있다는 것.
site_url = 'https://ticket.interpark.com/Gate/TPLogin.asp'
driver.get(url=site_url)
해당 화면을 구성하고 있는 HTML 요소 중에 아이디와 비밀번호를 입력하는 텍스트 창, 그리고 로그인 버튼에 대한 정보만 있으면 아이디, 비밀번호 넣고 로그인 버튼 클릭 하면 됨.
그럼 그 정보는 어디서 가져옴?
모든 인터넷 브라우저는 개발자 도구를 통해 구성 요소를 확인 할 수 있음. 그 개발자 도구 단축키가 F12.

F12로 개발자 도구를 실행 시키면 브라우저 우측에 쏼라쏼라 이것저것 적힌 창이 하나 로드 됨.
근데 개발자 도구 창도 작고, 인터넷 창도 작아서 답답함! 모니터 2대이니 나는 나눠서 써야겠음.

개발자 도구 창 우측 상단에 점 3개 클릭해서 'Dock Side' 메뉴의 맨 왼쪽 클릭하면 브라우저 창과 개발자 도구 창이 분리 되서 편하고 넓~게 볼 수 있음.
아이디와 비밀번호 텍스트 창 찾고 그 정보를 확인하려면 시야를 넓게 보는게 개발이 편함.
개발자 도구를 통해서 인터파크 로그인 페이지의 HTML 구성을 확인 할 수 있는데, iframe이 많다. 진짜 너무 많다.
오래된 사이트라 그런지 무슨 iframe이 많아도 너무 많음.
찾으려고 정보가 iframe 상에 존재 한다면 현재 driver의 위치를 iframe으로 변경을 해줘야 함.
이건 iframe이 갖고 있는 특징이라고 볼 수 있음.
일단 필요한 것들 import 하고 시작!
from selenium.webdriver.common.by import By
import time
iframes = driver.find_elements(By.TAG_NAME, 'iframe')
driver.switch_to.frame(iframes[0])
브라우저 띄운 후에 위 코드를 입력 해 주고 재 실행 시 정상 실행 되면 iframe으로 변경 됨.
iframe으로 변경 했으니 찾으려는 정보를 찾아보자.
그럼 저 많은 코드를 하나하나 확인 하면서 아이디 텍스트창을 찾을 수 없으니 개발자 도구의 편리함을 이용하자.

개발자 도구 상단 이미지를 클릭하고 찾고 싶은 곳으로 마우스를 이동 -> 클릭하면 해당 부분의 소스를 바로 띄워줌.
로그인을 위해 아이디와 비밀번호의 구성요소를 찾고, selenium이 찾을 수 있게 알려줘야 함.

개발자 도구를 통해 아이디 텍스트 박스를 찾아냄.
해당 라인에서 마우스 우클릭을 하면 Copy -> Copy .... 등등 6~7개 정도 항목이 나옴.
selenium에서는 위 항목의 데이터를 이용하여 브라우저 내 선택한 요소의 정보를 확인 할 수 있음. 필자는 주로 Code XPath나 Copy selector을 많이 사용함.
userId = driver.find_element(By.XPATH, "//*[@id='login']/div[1]/div/div[1]/label/input")
userId.send_keys("userId")
userPwd = driver.find_element(By.XPATH, "//*[@id='login']/div[1]/div/div[2]/label/input")
userPwd.send_keys("Passwd")
driver의 find_element 를 이용해서 아이디, 비밀번호의 텍스트 창을 찾고 로그인 정보를 send_keys를 통해 브라우저로 전달해 입력 시킴.
비밀번호까지 입력이 되면,
로그인 버튼을 찾아서 클릭 되는 동작 추가
login_btn = driver.find_element(By.XPATH, "//*[@id='login']/div[3]/button")
login_btn.click()
로그인 버튼 클릭 동작까지 추가 됐으면 실행!
인터파크 로그인 페이지 열림 → 아이디 착착착 → 비밀번호 착착착 → 로그인 버튼 클릭 까지 실행 되면 끝!
'개발 > Python' 카테고리의 다른 글
| [Python] 인터파크 티켓팅 기본 매크로 개발 - 5 (좌석 선택) (0) | 2025.01.16 |
|---|---|
| [Python] 인터파크 티켓팅 기본 매크로 개발 - 4 (날짜 및 회차 선택) (1) | 2025.01.15 |
| [Python] 인터파크 티켓팅 기본 매크로 개발 - 3 (예매페이지 이동) (0) | 2025.01.14 |
| [Python] 파이썬 설치 (0) | 2025.01.09 |