1. implicitly wait : 조건만큼만 대기하다 다음 동작 실행
from selenium import webdriver
driver = webdriver.Chrome()
driver.get('https://www.w3schools.com/html/')
driver.maximize_window()
# 10초 동안 페이지 로딩 대기 (로딩 되면 바로 다음 수행)
driver.implicitly_wait(10)
elem = driver.find_element_by_xpath('//*[@id="leftmenuinnerinner"]/a[61]')
2. explicitly wait : 조건이 완료될때까지 대기
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
driver = webdriver.Chrome()
driver.get('https://www.w3schools.com/html/')
driver.maximize_window()
# 최대 10초 동안 Element가 클릭상태가 될때까지 대기
# EC.presence_of_element_located() : 해당 Element가 나올 때까지
wait = WebDriverWait(driver, 10)
elem = wait.until(EC.element_to_be_clickable((By.XPATH, '//*[@id="leftmenuinnerinner"]/a[61]')))
'RPA > Python' 카테고리의 다른 글
[email] Gmail 환경설정 및 이메일 발신 (0) | 2021.05.06 |
---|---|
[selenium] 파일 다운로드 경로 변경 (0) | 2021.05.06 |
[selenium] 동적 페이지 스크롤 (0) | 2021.05.06 |
[selenium] iframe 내 Element 접근 (checkbox, radio, select 태그) (0) | 2021.05.06 |
[selenium] Xpath 등을 이용하여 Element 동작 처리하기 (0) | 2021.05.05 |