본문 바로가기
Python/Selenium

Selenium InsecureCertificateException 오류 해결하기

by PySun 2025. 1. 16.
반응형

소개

Selenium을 사용하다 보면 'InsecureCertificateException' 오류에 직면할 수 있습니다. 이 오류는 SSL 인증서가 유효하지 않거나 신뢰할 수 없는 경우 발생합니다. HTTPS 프로토콜을 사용할 때, 이러한 문제가 종종 발생하게 되죠. 이번 블로그 글에서는 이 오류가 발생하는 이유와 해결 방법에 대해 알아보겠습니다.

에러 발생 예시 코드

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

from selenium import webdriver

# 브라우저 옵션 설정
options = webdriver.ChromeOptions()

# SSL 인증서 에러 무시 설정
# options.add_argument('--ignore-certificate-errors') # 주석 처리된 부분

# 웹드라이버 생성
driver = webdriver.Chrome(options=options)

# SSL 인증서 문제가 있는 웹사이트 접속
driver.get("https://self-signed.badssl.com/")

에러 해결 방법

1. SSL 인증서 오류 무시하기

가장 간단한 해결 방법은 SSL 인증서 오류를 무시하는 것입니다. 위 예제 코드에서 주석 처리된 `options.add_argument('--ignore-certificate-errors')` 부분을 활성화하면 됩니다.

from selenium import webdriver

# 브라우저 옵션 설정
options = webdriver.ChromeOptions()

# SSL 인증서 에러 무시 설정
options.add_argument('--ignore-certificate-errors')  # 주석 해제

# 웹드라이버 생성
driver = webdriver.Chrome(options=options)

# SSL 인증서 문제가 있는 웹사이트 접속
driver.get("https://self-signed.badssl.com/")

2. ChromeDriver 버전 확인

때때로, ChromeDriver와 브라우저의 버전 불일치로 인해 문제가 발생할 수 있습니다. ChromeDriver와 Chrome의 버전이 호환되는지 확인하세요. 버전 불일치로 인한 오류는 다양한 예상치 못한 문제를 일으킬 수 있습니다.

import selenium
print(selenium.__version__)  # Selenium 버전 확인하기

# Chrome 브라우저 버전 확인
# 브라우저 주소창에 'chrome://settings/help' 입력 후 확인

3. 대체 브라우저 사용

만약 Chrome 드라이버에서 여전히 문제가 발생한다면, 다른 브라우저 (예: Firefox)로 전환하는 방법도 고려할 수 있습니다. Firefox는 기본적으로 더 유연한 SSL 정책을 가지고 있기 때문입니다.

from selenium import webdriver

# Firefox 드라이버 생성
driver = webdriver.Firefox()

# SSL 인증서 문제가 있는 웹사이트 접속
driver.get("https://self-signed.badssl.com/")

마무리

이번 글에서는 Selenium을 사용할 때 발생할 수 있는 'InsecureCertificateException' 오류에 대한 해결 방법을 살펴보았습니다. SSL 인증서 오류를 무시하거나 ChromeDriver와 브라우저의 버전을 확인하는 등 다양한 방법을 통해 이 문제를 해결할 수 있습니다. 항상 최신 문서를 참조하고, 가능하다면 안전한 방법으로 웹사이트에 접근하는 것이 중요하다는 점도 잊지 마세요!

반응형