Python/Selenium

selenium.set_page_load_timeout으로 페이지 로드 타임아웃 설정하기

PySun 2025. 2. 20. 09:41
반응형

Selenium의 set_page_load_timeout: 페이지 로드 타임아웃 설정하기

웹자동화의 세계에 오신 것을 환영합니다! Selenium 라이브러리는 웹 브라우저를 자동으로 제어하는 데 매우 유용한 도구입니다. 하지만 가끔 페이지가 느리게 로드되거나 아예 로드되지 않는 경우가 생기는데, 그런 상황을 대비해 set_page_load_timeout 메소드를 통해 페이지 로드의 제한 시간을 설정할 수 있습니다.

set_page_load_timeout 메서드 소개

set_page_load_timeout 메서드는 Selenium 웹드라이버가 페이지를 로드할 때 기다리는 최대 시간을 설정하는 기능을 제공합니다. 이 메서드를 활용하면 특정 시간 안에 페이지가 로드되지 않을 경우 TimeoutException 오류가 발생하고, 이를 통해 프로세스의 오류를 방지할 수 있습니다.

함수 시그니처

driver.set_page_load_timeout(time_in_seconds)

매개변수:

  • time_in_seconds: 페이지 로드 타임아웃을 설정할 시간(초 단위)입니다.

반환 값:

  • 없음: 설정 후에는 다음 페이지 로드에서 설정한 시간 제한이 적용됩니다.

사용 예제

기본 예제

다음은 기본적으로 set_page_load_timeout 메서드를 사용하여 페이지 로드 타임아웃을 설정하는 방법을 보여드립니다.

from selenium import webdriver
from selenium.common.exceptions import TimeoutException

# 웹드라이버 초기화
driver = webdriver.Chrome()

# 페이지 로드 타임아웃 설정
driver.set_page_load_timeout(10)  # 10초로 설정

try:
    driver.get('https://example.com')
except TimeoutException:
    print("페이지 로드가 10초 안에 완료되지 않았습니다.")

driver.quit()

실제 페이지 로드 사용 예제

때로는 예상보다 긴 로딩 시간 때문에 페이지 로드가 실패할 수 있습니다. 다음 예제에서는 페이지 로드 타임아웃이 어떻게 작동하는지 볼 수 있습니다.

from selenium import webdriver
from selenium.common.exceptions import TimeoutException

driver = webdriver.Chrome()
driver.set_page_load_timeout(5)  # 5초로 설정

try:
    # 의도적으로 느린 페이지를 로드 시도
    driver.get('https://httpbin.org/delay/10')  # 10초 지연 요청
except TimeoutException:
    print("페이지 로드가 5초 안에 완료되지 않았습니다.")

driver.quit()

결론

set_page_load_timeout 메서드는 Selenium을 사용할 때 페이지 로드 시간에 대한 효과적인 제어 수단으로 자리잡고 있습니다. 사용자가 인지하지 못하게 발생할 수 있는 페이지 로드의 문제를 방지하고 더 나은 웹자동화 경험을 만들어 주는 이 메서드를 지금 바로 활용해 보세요!

  • 웹페이지가 느리게 로드되는 경우 불필요한 코드 실행을 방지할 수 있습니다.
  • 단순히 시간을 관리하는 것 이상, 올바른 사용자 경험을 보장합니다!
반응형