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을 사용할 때 페이지 로드 시간에 대한 효과적인 제어 수단으로 자리잡고 있습니다. 사용자가 인지하지 못하게 발생할 수 있는 페이지 로드의 문제를 방지하고 더 나은 웹자동화 경험을 만들어 주는 이 메서드를 지금 바로 활용해 보세요!
- 웹페이지가 느리게 로드되는 경우 불필요한 코드 실행을 방지할 수 있습니다.
- 단순히 시간을 관리하는 것 이상, 올바른 사용자 경험을 보장합니다!
반응형