>백엔드 개발 >파이썬 튜토리얼 >Python에서 Selenium WebDriver를 사용하여 웹 페이지(무한 스크롤 포함)가 완전히 로드되었을 때 어떻게 효율적으로 감지할 수 있습니까?

Python에서 Selenium WebDriver를 사용하여 웹 페이지(무한 스크롤 포함)가 완전히 로드되었을 때 어떻게 효율적으로 감지할 수 있습니까?

DDD
DDD원래의
2024-12-16 20:28:15141검색

How Can I Efficiently Detect When a Web Page (with Infinite Scrolling) Has Fully Loaded Using Selenium WebDriver in Python?

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.