소개
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을 입력하는 것이 중요하니 잊지 마세요!
'Python > Selenium' 카테고리의 다른 글
Select 클래스 활용으로 드롭다운 선택하기 (0) | 2025.02.13 |
---|---|
Selenium의 명시적 대기 (Explicit Wait) 사용하기 (0) | 2025.02.13 |
Selenium UnexpectedAlertOpenException 오류 해결하기 (0) | 2025.02.12 |
Selenium UnableToSetCookieException 오류 해결하기 (0) | 2025.02.12 |
Select 클래스를 이용한 드롭다운 메뉴 자동화 (0) | 2025.02.12 |