from selenium import webdriver
browser = webdriver.Chrome()
browser.maximize_window() # 창 최대화
url = "https://flight.naver.com/flights/"
browser.get(url) # url로 이동
# 가는 날 선택 클릭
browser.find_element_by_link_text("가는날 선택").click()
# 이번달 27, 28일 선택
# browser.find_elements_by_link_text("27")[0].click() # [0]->이번달
# browser.find_elements_by_link_text("28")[0].click() # [0]->이번달
# 다음달 27, 28일 선택
# browser.find_elements_by_link_text("27")[1].click() # [0]->다음달
# browser.find_elements_by_link_text("28")[1].click() # [0]->다음달
# 이번달 27, 다음달 28일 선택
browser.find_elements_by_link_text("27")[0].click() # [0]->이번달
browser.find_elements_by_link_text("28")[1].click() # [0]->다음달
# 제주도 선택
browser.find_element_by_xpath("//*[@id='recommendationList']/ul/li[1]").click()
# 항공권 검색 클릭
browser.find_element_by_link_text("항공권 검색").click()
# 첫번째 결과 출력
elem = browser.find_element_by_xpath("//*[@id='content']/div[2]/div/div[4]/ul/li[1]")
print(elem.text)
위 결과 error메시지와 함께 no such element라고 나옴
-->로딩화면 때문에 elem 올바르게 얻을 수 없었음
------>import time으로 특정 시간동안 기다리게 함(시간 낭비 문제) or 해당 엘리먼트 나올 때까지만 기다리기
*임포트 추가
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
try:
elem = WebDriverWait(browser, 10).until(
EC.presence_of_element_located(
(By.XPATH, "//*[@id='content']/div[2]/div/div[4]/ul/li[1]")
)
)
# 성공했을 때 동작 수행
print(elem.text) # 첫번째 결과 출력
finally:
browser.quit()
'파이썬' 카테고리의 다른 글
웹 스크래핑7(selenium심화-네이버로그인) (1) | 2021.07.08 |
---|---|
웹 스크래핑6(Selenium기본) (0) | 2021.07.08 |
웹 스크래핑5(CSV, 네이버 금융) (0) | 2021.07.07 |
웹 스크래핑4(다음 영화) (0) | 2021.07.06 |
웹 스크래핑3(쿠팡) (0) | 2021.07.02 |