본문 바로가기
Python/Selenium

selenium UnableToResolveHostException 오류 해결하기

by PySun 2025. 1. 26.
반응형

소개

Selenium을 사용하여 웹 자동화를 시도할 때 'UnableToResolveHostException' 오류에 직면하는 경우가 종종 발생합니다. 이 오류는 주로 지정한 URL이 올바른 호스트 이름으로 해결되지 않을 때 발생하게 됩니다. 이 글에서는 이 오류의 원인과 해결 방법에 대해 상세히 알아보겠습니다.

에러 발생 예시 코드

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

from selenium import webdriver

# 웹드라이버 경로 설정
driver = webdriver.Chrome(executable_path='path/to/chromedriver')

# 잘못된 URL 시도
driver.get("http://thisdomainshouldnotexist.xyz")

에러 해결 방법

1. URL 확인

가장 먼저 해야 할 일은 URL이 올바르게 입력되었는지 확인하는 것입니다. 잘못된 도메인이나 오타가 있을 경우 이 오류가 발생할 수 있습니다.

url = "http://example.com"  # 올바른 URL로 수정

# 웹 페이지 열기
driver.get(url)

2. 인터넷 연결 확인

어떻게 보면 너무 기본적인 사항일 수 있지만, 인터넷 연결이 불안정하거나 끊길 경우에도 이 오류가 발생할 수 있습니다. 따라서, 네트워크 상태를 점검하고 다시 시도해보세요.

import requests

try:
    response = requests.get("http://example.com")
    print("인터넷 연결 양호")
except requests.ConnectionError:
    print("인터넷 연결에 문제가 있습니다.")

3. DNS 설정 확인

때때로 DNS 서버의 문제로 인해 특정 URL을 해결할 수 없게 됩니다. 이 경우 DNS 설정을 확인하고, 다른 DNS 서버로 변경하는 방법을 고려해 볼 수 있습니다. 예를 들어, Google의 퍼블릭 DNS로 변경할 수 있습니다.

# Windows의 경우 DNS 변경 예시
# 제어판 > 네트워크 및 인터넷 > 네트워크 및 공유 센터 > 어댑터 설정 변경
# 연결된 네트워크의 속성을 열고, IPv4(인터넷 프로토콜 버전 4) 속성에서 DNS 서버 주소를 수정
# 예: 8.8.8.8 및 8.8.4.4 입력

마무리

이번 포스팅에서는 Selenium에서 발생하는 'UnableToResolveHostException' 오류에 대한 원인 및 해결 방법에 대해 알아보았습니다. URL 확인, 인터넷 연결 점검, 그리고 DNS 설정까지 다양한 측면에서 확인해야 할 필요가 있습니다. 언제든지 문제가 발생하면 천천히 차근차근 원인을 분석해보세요. 기술적 문제를 풀어내는 과정에서 더 나은 개발자로 성장할 수 있습니다!

반응형