인프런 커뮤니티 질문&답변

남택호님의 프로필 이미지
남택호

작성한 질문수

블로그 자동화 프로그램 개발 강의 (파이썬 + 셀레니움)

time.sleep 에 대한 개선방법 문의

작성

·

370

1

강의에서 기능 구현을 빠르게 하기위해 브라우저 화면 로딩이 끝날 때까지 time.sleep 으로 코드 진행을 멈추도록 작성되어 있습니다. 강의 도중에 해당 부분을 다른 방법으로 변경한다고 언급했는데, 변경되지 않은 채로 강의가 종료되었습니다. 이 부분은 어떻게 개선될 수 있을까요?

일반적으로는 webdriver에서 제공하는 implicitly_wait을 이용하는 것으로 알고 있는데, 더 나은 방법이 있을까요?

답변 1

0

김지유님의 프로필 이미지
김지유
지식공유자

implicity_wait가 맞습니다 !

Selenium의 Waiting에는 크게 2가지 방법이 있습니다

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://naver.com")
try:
    #1. implicity_wait
    driver.implicitly_wait(10)

    #2. WebDriverWait
    element = WebDriverWait(driver, 10).until(
        EC.presence_of_element_located((By.ID, "어떤_Tag_ID"))
    )
남택호님의 프로필 이미지
남택호

작성한 질문수

질문하기