728x90
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.action_chains import ActionChains
import time
from random import *
ID = ""
PW = "!"
start_region="창원중앙"
end_region="서울"
target_time="16:03" #시간 포맷 지켜야 함
browser = webdriver.Chrome('chromedriver')
time.sleep(2)
#로그인 처리
search = browser.find_element_by_xpath('//*[@id="txtMember"]')
search.send_keys(ID)
search = browser.find_element_by_xpath('//*[@id="txtPwd"]')
search.send_keys(PW)
search.send_keys(Keys.RETURN)
time.sleep(2)
print(browser.window_handles)
time.sleep(1)
#코로나 팝업 뜨는거 있으면 종료
if len(browser.window_handles) > 1:
browser.switch_to_window(browser.window_handles[1])
browser.close()
browser.switch_to_window(browser.window_handles[0])
# 출발지, 도착지 입력 후 검색
search = browser.find_element_by_xpath('//*[@id="txtGoStart"]')
search.clear()
search.send_keys(start_region)
search = browser.find_element_by_xpath('//*[@id="txtGoEnd"]')
search.clear()
search.send_keys(end_region)
search = browser.find_element_by_xpath('//*[@id="res_cont_tab01"]/form/div/fieldset/p/a')
search.send_keys(Keys.RETURN)
time.sleep(2)
print(browser.window_handles)
#지역마다 팝업 뜨는거 있어서 있으면 종료
time.sleep(1)
if len(browser.window_handles) > 1:
browser.switch_to_window(browser.window_handles[1])
browser.close()
browser.switch_to_window(browser.window_handles[0])
time.sleep(2)
while True:
for i in range(1,10): #검색하고 상위 10개정도 안에 내가 원하는 시간 있다 가정
search_row = browser.find_element_by_xpath('//*[@id="tableResult"]/tbody/tr['+str(i)+']/td[3]')
search_row_innerhtml = search_row.get_attribute('innerHTML')
if search_row_innerhtml.find(target_time)>0: #i가 원하는 시간의 row가 됨
break
#일반석 영역의 td 안의 내용을 읽어서 매진이나 입석,좌석 묶음 판매? 인 경우 스킵
search = browser.find_element_by_xpath('//*[@id="tableResult"]/tbody/tr['+str(i)+']/td[6]')
search_innerhtml = search.get_attribute('innerHTML')
print(search_innerhtml.strip())
if search_innerhtml.find("매진") > 0 or search_innerhtml.find("묶음") > 0:
browser.refresh()
time.sleep(2)
else:
#일반석 매진이나 입석, 좌석 묶음 판매 아니면 안에 있는 a 태그 클릭
search = browser.find_element_by_xpath('//*[@id="tableResult"]/tbody/tr['+str(i)+']/td[6]/a[1]')
search.send_keys(Keys.RETURN)
#걸리면 텔레그램으로 메시지 보내려했는데 key 까먹음
#결제는 자기가 알아서^^
728x90
'Python' 카테고리의 다른 글
에콜리안CC 잔여티 자동 예약(가능일 선택) (0) | 2022.05.13 |
---|---|
유성CC 잔여티 자동 예약(가능일 선택) (0) | 2022.05.13 |
python venv (0) | 2021.07.23 |
python datetime 매시간, 매분마다 체크하기 (0) | 2021.05.09 |
python dictionary 복사 assignment (0) | 2021.05.09 |