본문 바로가기
Python/Selenium

Selenium Error: Chrome not reachable 오류 해결하기

by PySun 2025. 1. 11.
반응형

소개

Selenium을 사용하여 웹 자동화를 진행하다 보면 종종 'Chrome not reachable' 오류를 마주할 수 있습니다. 이 오류는 크롬 드라이버와 크롬 브라우저 간의 연결이 끊겼을 때 발생합니다. 특히 크롬이 갑자기 종료되거나 충돌할 경우에도 이 오류가 뜨는 경우가 많습니다. 이번 포스팅에서는 'Chrome not reachable' 오류의 발생 원인 및 해결 방법에 대해 살펴보겠습니다.

에러 발생 예시 코드

먼저, 'Chrome not reachable' 오류가 발생할 수 있는 기본적인 예시 코드를 살펴보겠습니다.

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

# 크롬 드라이버 설정
service = Service(ChromeDriverManager().install())
driver = webdriver.Chrome(service=service)

# 웹 페이지 열기
driver.get("http://example.com")

# 드라이버 종료
driver.quit()  # 혹시 여기서 크롬이 종료되면 오류 발생 가능!

에러 해결 방법

1. 드라이버와 브라우저 버전 확인

Selenium의 크롬 드라이버와 설치된 크롬 브라우저의 버전이 호환되어야 합니다. 따라서 두 버전을 일치시켜 주어야 합니다.

import subprocess

# 현재 설치된 크롬 버전 확인
chrome_version = subprocess.check_output(
    'google-chrome --version', shell=True).decode().strip()
print(f"현재 설치된 크롬 버전: {chrome_version}")

2. 드라이버 및 브라우저 재설치

때때로 크롬 드라이버가 손상되거나 잘못 설치될 수 있습니다. 이를 해결하기 위해 드라이버와 브라우저를 모두 삭제한 후 최신 버전으로 재설치해 보세요.

!pip uninstall webdriver_manager
!pip install webdriver_manager

3. 웹 드라이버 옵션 조정

브라우저가 연결 문제에 영향을 줄 수 있는 다양한 옵션을 제공하므로, 이를 조정하여 안정성을 높일 수 있습니다. 예를 들어 브라우저의 비헤드리스 모드를 사용할 수 있습니다.

from selenium.webdriver.chrome.options import Options

# 옵션 설정
options = Options()
options.add_argument("--no-sandbox")
options.add_argument("--disable-dev-shm-usage")
options.add_argument("--headless")  # 비헤드리스 모드

# 드라이버 실행
driver = webdriver.Chrome(service=service, options=options)

마무리

이번 블로그에서는 'Chrome not reachable' 오류에 대해 알아보았습니다. 드라이버와 브라우저 버전 확인, 재설치, 옵션 조정 등을 통해 이 오류를 해결할 수 있습니다. 웹 자동화 작업에서 이와 같은 오류가 발생하는 것은 꽤 불편할 수 있지만 해결책을 알고 있으면 훨씬 수월하게 대처할 수 있습니다! 항상 코드를 작성하시기 전에 문서를 참고하고, 최신 버전을 유지하는 것을 권장합니다.

반응형