본문 바로가기
Python/Selenium

Selenium InvalidResponseException 해결하기

by PySun 2025. 2. 15.
반응형

소개

Selenium을 사용하다가 'InvalidResponseException' 에러가 발생하는 경우는 종종 불편을 겪는 문제입니다. 이 문제는 브라우저와의 통신에서 발생하는 에러로, 여러 가지 원인으로 인해 발생할 수 있습니다. 이 블로그 글에서는 이 에러의 원인과 해결 방법을 자세히 알아보겠습니다.

에러 발생 예시 코드

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

from selenium import webdriver

# 웹드라이버 설정
driver = webdriver.Chrome()

# 웹 사이트에 접속
driver.get('http://example.com')

# 페이지 소스를 출력
print(driver.page_source)

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

에러 해결 방법

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

Selenium의 'InvalidResponseException' 에러는 사용 중인 웹 드라이버와 브라우저 간의 버전 불일치에서 발생할 수 있습니다. 항상 최신 버전의 드라이버와 브라우저를 사용하는지 확인해 보세요.

# Chrome 드라이버와 브라우저를 최신 버전으로 업데이트
# Chrome Driver 다운로드: https://sites.google.com/a/chromium.org/chromedriver/downloads

2. 드라이버 시간 초과 설정

드라이버의 시간 초과 설정을 늘리는 것도 좋은 전략입니다. 네트워크 또는 페이지 로딩이 느릴 경우 이 설정을 통해 문제를 해결할 수 있습니다.

from selenium import webdriver

driver = webdriver.Chrome()
# 페이지 로딩 용이 시간을 30초로 설정
driver.set_page_load_timeout(30)
driver.get('http://example.com')

3. 크롬 옵션 추가

특정한 크롬 옵션을 추가하여 브라우저의 동작을 개선할 수 있습니다. 예를 들어, 'headless' 모드로 실행하면 성능이 향상될 수 있습니다.

from selenium import webdriver

options = webdriver.ChromeOptions()
options.add_argument('--headless')  # 헤드리스 모드 실행
driver = webdriver.Chrome(options=options)

driver.get('http://example.com')
print(driver.page_source)
driver.quit()

마무리

이번 블로그 글에서는 Selenium에서 발생할 수 있는 'InvalidResponseException' 에러의 원인과 해결 방법에 대해 알아보았습니다. 웹 드라이버와 브라우저의 버전 확인, 시간 초과 설정 조정 및 크롬 옵션 추가 등을 통해 이 문제를 해결할 수 있습니다. Selenium을 활용하면서 이러한 에러를 사전에 예방하고 현명하게 대처하는 습관을 기르시길 바랍니다.

반응형