0w0
[selenium wait] Implicitly wait 및 Explicitly wait 본문
728x90
반응형
ref. https://selenium-python.readthedocs.io/waits.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
Implicitly wait
- 코드 : bs_driver.implicitly_wait(10)
- 코드 설명 : 브라우저 드라이버가 페이지 호출을 10초 이내 동안 대기해주는 것
- 암시적 대기, 웹 페이지가 시간 내에 로딩되도록 대기하는 방식.
- "No such Element Exception"이 발생하기 전에 웹 드라이버에게 특정 시간 동안 대기하도록 지시.
Explicitly wait
- from selenium.webdriver.common.by import By
- from selenium.webdriver.support.ui import WebDriverWait
- from selenium.webdriver.support import expected_conditions as EC
- 코드 : WebDriverWait(browser,10).until(EC.presence_of_element_located((By.TAG_NAME,'html'))).send_keys(Keys.PAGE_DOWN)
- 코드 설명 : 10초 이내 웹 페이지 내에서 html 태그가 확인된다면 PAGE_DOWN 버튼 명령을 전송하는 것.
- 코드 : subject = WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.CSS_SELECTOR, "div.subject > h2")))
- 코드 설명 : 10초 이내 웹 페이지 내에서 By.CSS_SELECTOR, "div.subject > h2"가 확인된다면 해당 내용을 subject에 대입하는 것.
- 명시적 대기, 동적처리 페이지 및 느린 인터넷 환경에서 웹 페이지 내 특정 element를 대기하는 방식.
- "ElementNotVisibleException" 예외를 발생시키기 전에 특정 조건 (예상조건) 또는 최대 시간을 대기하도록 지시.
- 동적으로 로드 된 Ajax 요소 및 느린 인터넷 환경에서 적합.
|
cs |
728x90
반응형
'Coding > Python' 카테고리의 다른 글
[selenium] 파이어폭스 드라이버 Error (0) | 2020.09.01 |
---|---|
[requests] html_parsing 함수 (0) | 2019.12.22 |
[thread] 함수 형태의 thread, 클래스 형태의 thread (0) | 2019.08.30 |
[pyqt] GUI 관련 모듈 및 엔진 (작성중) (0) | 2019.08.26 |
[selenium] python selenium cheat sheet (0) | 2019.08.25 |
Comments