Python용 Selenium WebDriver를 사용하여 페이지 로드를 기다리는 방법
무한 스크롤이 구현된 웹 페이지에서 데이터를 스크랩할 때 다음이 중요합니다. 페이지에 새 콘텐츠가 완전히 로드된 시기를 효율적으로 감지합니다. 이 기사에서는 각 스크롤 후 고정된 시간 간격을 기다리는 것보다 시간 효율적인 접근 방식을 살펴봅니다.
기본 페이지 로딩 메커니즘
기본적으로 Selenium WebDriver의 .get () 메서드는 페이지가 완전히 로드될 때까지 기다립니다. 그러나 이는 프레임 내에서 또는 AJAX 요청을 통한 로드를 고려하지 않습니다.
WebDriverWait for 특정 요소 사용
특정 요소가 페이지에서는 예상_조건과 함께 WebDriverWait()를 사용하세요. 예:
from selenium import webdriver from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC from selenium.webdriver.common.by import By delay = 3 # seconds driver = webdriver.Firefox() driver.get("url") try: myElem = WebDriverWait(driver, delay).until(EC.presence_of_element_located((By.ID, 'id-of-element'))) print("Page is ready!") except TimeoutException: print("Loading took too much time!")
Considerations
WebDriverWait는 지정된 요소나 조건이 true가 될 때까지만 기다립니다. 추가 요소나 조건을 기다리는 경우 맞춤 코드를 사용하여 페이지 로드 완료를 감지해야 할 수도 있습니다.
위 내용은 Python에서 Selenium WebDriver를 사용하여 웹 페이지(무한 스크롤 포함)가 완전히 로드되었을 때 어떻게 효율적으로 감지할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!