소개
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' 오류에 대해 알아보았습니다. 드라이버와 브라우저 버전 확인, 재설치, 옵션 조정 등을 통해 이 오류를 해결할 수 있습니다. 웹 자동화 작업에서 이와 같은 오류가 발생하는 것은 꽤 불편할 수 있지만 해결책을 알고 있으면 훨씬 수월하게 대처할 수 있습니다! 항상 코드를 작성하시기 전에 문서를 참고하고, 최신 버전을 유지하는 것을 권장합니다.
'Python > Selenium' 카테고리의 다른 글
Selenium NoSuchAlertException 오류 해결하기 (0) | 2025.01.11 |
---|---|
Selenium Error: Unable to locate element 오류 해결하기 (0) | 2025.01.11 |
Selenium.handle_iframe으로 iframe 처리하기 (0) | 2025.01.11 |
Selenium.fill_form으로 웹 폼 자동 입력하기 (0) | 2025.01.11 |
Selenium.switch_to_alert로 알림 처리하기 (0) | 2025.01.11 |