0w0

[selenium wait] Implicitly wait 및 Explicitly wait 본문

Coding/Python

[selenium wait] Implicitly wait 및 Explicitly wait

0w0 2019. 9. 1. 16:08
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
반응형
Comments