본문 바로가기
Python/Selenium

Selenium UnknownServerError 오류 해결하기

by PySun 2025. 2. 12.
반응형

소개

Selenium을 사용할 때 Unexpected Error나 UnknownServerError가 발생할 때가 있습니다. 이러한 오류는 웹드라이버가 브라우저와의 연결에서 예기치 않은 문제를 경험할 때 발생합니다. 이 글에서는 UnknownServerError의 원인과 해결 방법을 정리해 보도록 하겠습니다.

에러 발생 예시 코드

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

from selenium import webdriver

# Chrome 드라이버 경로 지정
driver = webdriver.Chrome(executable_path='path_to_chromedriver')

# 일부러 잘못된 URL 사용
driver.get("http://nonexistentwebsite.xyz")

에러 해결 방법

1. 드라이버와 브라우저 호환성 확인하기

UnknownServerError가 발생하는 주요 원인 중 하나는 사용하는 웹드라이버와 브라우저의 버전 불일치입니다. 최신 버전의 Chrome 웹 브라우저가 설치되어 있다면, 이에 맞는 ChromeDriver를 다운로드하여 사용해야 합니다.

from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager

# 웹드라이버 또 설치 확인
driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()))

2. 웹드라이버 및 브라우저 재시작하기

때로는 웹드라이버나 브라우저가 제대로 작동하지 않아 Unexpected Error가 발생할 수 있습니다. 웹드라이버와 브라우저를 재시작해 보세요.

from selenium import webdriver
import time

# 웹드라이버 재시작
driver = webdriver.Chrome()

# 잠시 대기 후 종료
time.sleep(5)
driver.quit()
driver = webdriver.Chrome()

3. 웹 페이지 상태 확인하기

Selenium이 요청하는 URL이 현재 사용할 수 없는 경우, 예를 들면 서버가 다운된 경우에도 UnknownServerError가 발생할 수 있습니다. 이 경우 웹 페이지의 상태를 확인하고 올바른 URL을 입력해야 합니다.


import requests

# URL 상태 확인
url = "http://nonexistentwebsite.xyz"
response = requests.get(url)

if response.status_code == 200:
    print("웹 페이지가 정상적으로 작동 중입니다.")
else:
    print("웹 페이지 오류 발생: 상태 코드", response.status_code)

마무리

이 블로그 글에서는 Selenium에서 발생할 수 있는 UnknownServerError의 원인과 해결 방법을 살펴보았습니다. 드라이버와 브라우저의 호환성 확인, 웹드라이버나 브라우저 재시작, 웹 페이지 상태 확인 등을 통해 문제를 해결할 수 있습니다. Selenium을 사용할 때는 항상 정확한 버전 사용과 정확한 URL을 입력하는 것이 중요하니 잊지 마세요!

반응형