본문 바로가기
Python/Selenium

Selenium ConnectionClosedException 오류 해결하기

by PySun 2025. 2. 8.
반응형

소개

Selenium을 사용하다 보면 'ConnectionClosedException' 오류가 발생하는 경우가 있습니다. 이 오류는 주로 Selenium WebDriver와 브라우저 간의 연결이 예기치 않게 종료될 때 발생합니다. 사용자에게는 불편한 에러지만, 실패를 두려워하지 말고 함께 해결해봅시다!

에러 발생 예시 코드

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

from selenium import webdriver

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

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

# 연결을 강제로 종료
driver.quit()

# 페이지에 접근 시도
print(driver.current_url)  # 여기서 ConnectionClosedException 발생 가능

에러 해결 방법

1. 드라이버가 종료되기 전에 작업 수행하기

가장 일반적인 해결 방법은 드라이버가 종료되기 전에 모든 작업이 완료되도록 코드를 구성하는 것입니다. 'quit()' 메서드를 호출하기 전에 모든 필요한 작업을 수행하도록 합니다.

from selenium import webdriver

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

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

# 필요한 작업 수행
print(driver.title)

# 드라이버 종료
driver.quit()

2. 예외 처리를 추가하기

때때로, 브라우저가 예상치 못한 이유로 종료될 수 있습니다. 따라서 코드에 예외 처리를 추가하여 우아하게 처리하는 것이 좋습니다. 이를 통해 오류가 발생했을 때 대처할 수 있습니다.

from selenium import webdriver
from selenium.common.exceptions import WebDriverException

try:
    driver = webdriver.Chrome(executable_path='path/to/chromedriver')
    driver.get('https://example.com')
    print(driver.title)
except WebDriverException as e:
    print(f"웹 드라이버 오류 발생: {e}")
finally:
    driver.quit()

3. 최신 드라이버 및 브라우저 사용

때때로, 드라이버와 브라우저 간의 버전 불일치로 인해 문제가 발생할 수 있습니다. Chrome이나 Firefox의 최신 버전을 사용하고, 이에 맞는 드라이버를 다운로드하여 사용하세요.

마무리

이 블로그 글에서는 Selenium에서 발생할 수 있는 'ConnectionClosedException' 오류에 대한 몇 가지 해결 방법을 살펴보았습니다. 언제나 주의 깊게 코드를 작성하고, 예외 처리를 통해 발생할 수 있는 문제를 미리 대응하는 습관을 기르는 것이 좋습니다. 웹 자동화를 통한 여러분의 여정이 항상 매끄럽기를 바랍니다!

반응형