[파이썬]페이지 로딩될 때 까지 기다리게 하는 방법# Script/Python2022. 10. 12. 13:19
Table of Contents
728x90
반응형
Selenium이 페이지가 모두 로딩될 때 까지 기다리게 하는 방법
단순 시간 대기
from time import sleep
URL = 'http://encykorea.aks.ac.kr/Contents/CategoryNavi?category=contenttype&keyword=%EC%9D%B8%EB%AC%BC&ridx=0&tot=18507' # 원하는 페이지 지정
driver = webdriver.Chrome('chromedriver.exe') # 원하는 브라우저 엔진 선택(파일 경로)
driver.get(URL) # 해당 URL로 브라우저 창을 실행
sleep(3)
브라우저 엔진이 URL을 접속하고 단순히 3초를 대기한다.
이 방법은 모든 페이지마다 항상 3초를 대기하므로 비효율적이다.
암묵적 대기(Implicitly Wait)
URL = 'http://encykorea.aks.ac.kr/Contents/CategoryNavi?category=contenttype&keyword=%EC%9D%B8%EB%AC%BC&ridx=0&tot=18507' # 원하는 페이지 지정
driver = webdriver.Chrome('chromedriver.exe') # 원하는 브라우저 엔진 선택(파일 경로)
driver.get(URL) # 해당 URL로 브라우저 창을 실행
driver.implicitly_wait(time_to_wait=1000) # 암시적으로 시간을 지정
단위는 second이다. 브라우저 엔진이 접속한 URL의 페이지가 모두 로딩될 때 까지 지정한 시간만큼 대기한다.
만약 지정한 시간 전에 모두 로딩이 끝나면 바로 다음 코드를 진행하게 된다.
명시적 대기(Explicitly Wait)
from time import sleep
URL = 'http://encykorea.aks.ac.kr/Contents/CategoryNavi?category=contenttype&keyword=%EC%9D%B8%EB%AC%BC&ridx=0&tot=18507' # 원하는 페이지 지정
driver = webdriver.Chrome('chromedriver.exe') # 원하는 브라우저 엔진 선택(파일 경로)
driver.get(URL) # 해당 URL로 브라우저 창을 실행
WebDriverWait(driver, 1000).until(EC.presence_of_element_located((By.CSS_SELECTOR, "#index"))) #index라는 id를 가진 요소가 로딩될 때 까지 기다림
지정한 요소가 로딩이 완료 될 때 까지 지정한 시간만큼 대기한다. 이 코드 또한 지정한 시간 이전에 요소가 로딩이 완료되면 다음 코드를 진행한다.
728x90
반응형
'# Script > Python' 카테고리의 다른 글
[파이썬]티스토리 오픈API이용 (0) | 2022.10.14 |
---|---|
[파이썬]워드프레스 자동포스팅 (0) | 2022.10.13 |
[파이썬]네이버 데이터랩 추출 및 엑셀 파일 저장(xlsx) (0) | 2022.10.11 |
[파이썬]셀레니움 크롬 드라이버 자동 설치 for windows (0) | 2022.10.10 |
[파이썬]bluetooth_adapter_winrt.cc:1074 Getting Default Adapter failed error (0) | 2021.05.19 |
@다크쉐라빔 :: 다크쉐라빔의 주절주절
안녕하세요. 이곳은 IT위주의 잡다한 정보를 올려두는 개인 블로그입니다.
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!