Python/Selenium

Selenium NetworkErrorException 해결하기

PySun 2025. 2. 16. 08:11
반응형

소개

Selenium을 사용하면서 'NetworkErrorException'이 발생하는 경우는 여러 가지 원인에서 비롯될 수 있습니다. 이 오류는 주로 네트워크 연결 문제나 요청 오류가 발생할 때 나타납니다. 오늘은 이 에러의 원인과 해결 방법에 대해 알아보겠습니다.

에러 발생 예시 코드

먼저, 'NetworkErrorException'이 발생할 수 있는 간단한 예시 코드를 살펴보겠습니다.

from selenium import webdriver
from selenium.common.exceptions import NetworkErrorException

# 새로운 드라이버 생성
driver = webdriver.Chrome()

# 웹 페이지 로드 시도 (잘못된 URL)
try:
    driver.get("http://nonexistent-url.com")
except NetworkErrorException as e:
    print(f"네트워크 오류 발생: {e}")

에러 해결 방법

1. 유효한 URL 검토

가장 간단한 해결 방법은 접속하고자 하는 URL이 유효한지 다시 확인하는 것입니다. 잘못된 URL을 입력하지 않았는지 체크하세요.

url = "http://example.com"
if url.startswith("http://") or url.startswith("https://"):
    driver.get(url)
else:
    print("유효하지 않은 URL입니다.")

2. 네트워크 상태 점검

네트워크 연결이 불안정하거나 끊긴 경우에도 이 오류가 발생할 수 있습니다. 네트워크 상태를 확인하고 인터넷 연결이 제대로 되어 있는지 점검해보세요.

3. 대기 시간 설정

페이지 로드에 시간이 많이 걸리는 사이트에 접속할 경우, 대기 시간을 늘려서 문제를 해결할 수 있습니다. 'WebDriverWait'을 사용하여 특정 요소가 로드될 때까지 대기할 수 있습니다.

from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

driver.get("http://example.com")

# 웹 요소가 로드될 때까지 대기
try:
    element = WebDriverWait(driver, 10).until(
        EC.presence_of_element_located((By.ID, "element_id"))
    )
    print("요소가 로드되었습니다.")
except TimeoutException as te:
    print(f"시간 초과: {te}")

마무리

이 블로그 글에서는 Selenium에서 발생하는 'NetworkErrorException' 에러를 다뤄보았습니다. 유효한 URL을 확인하고, 네트워크 상태 점검 및 대기 시간을 조정하여 이 문제를 해결할 수 있습니다. 항상 Selenium 문서와 관련 자료를 참고하여 안정적인 자동화 작업을 진행하시기 바랍니다. 필요한 경우 StackOverflow와 같은 커뮤니티를 활용하여 도움을 받을 수 있습니다.

반응형