
Selenium 또는 undetected-chromedriver를 사용할 때 가장 자주 발생하는 오류 중 하나가 SessionNotCreatedException입니다. 대부분의 경우 Chrome 브라우저 버전과 드라이버 버전이 불일치하여 발생합니다.
이번 글에서는 실제 콘솔 출력 예시를 기반으로, 문제가 왜 발생했는지 그리고 어떻게 해결했는지를 단계별로 정리합니다.
1. 오류 상황
아래와 같이 pyenv shell 3.11.14 명령을 실행했지만 shell integration 설정이 되어 있지 않은 메시지가 출력되었습니다.
pyenv shell 3.11.14
pyenv: shell integration not enabled. Run `pyenv init` for instructions.
이 메시지는 pyenv와 직접적인 문제일 뿐, Selenium 실행 오류와는 관계가 없습니다.
2. 실제 핵심 오류 확인
Chrome 브라우저 버전을 확인한 결과 다음과 같았습니다.
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --version
Google Chrome 143.0.7499.41
즉, 현재 시스템의 Chrome 메이저 버전은 143입니다.
그런데 기존 코드는 다음처럼 작성되어 있었습니다.
uc.Chrome(options=myoption, version_main=141)
여기서 version_main=141은 실제 Chrome 143과 맞지 않기 때문에 undetected-chromedriver가 적절한 드라이버를 찾지 못하고 SessionNotCreatedException이 발생하게 됩니다.
3. 문제 원인
- Chrome 브라우저 메이저 버전: 143
- 코드에서 강제 지정한 version_main: 141
- 버전 불일치 → SessionNotCreatedException 발생
즉, ChromeDriver를 다운로드하지 않아도 된다는 설명은 undetected-chromedriver가 맞는 버전만 자동 다운로드할 때 해당됩니다.
하지만 version_main을 잘못 고정하면 자동 다운로드가 작동할 수 없습니다.
4. 해결 방법
아래 한 줄만 수정하면 바로 해결됩니다.
기존 코드
uc.Chrome(options=myoption, version_main=141)
수정 코드
uc.Chrome(options=myoption, version_main=143)
또는 Chrome 업데이트에 따라 자동 적용되도록 version_main 옵션 자체를 제거하는 방법도 있습니다.
uc.Chrome(options=myoption)
이렇게 하면 uc가 알아서 설치된 Chrome 버전을 감지하여 자동으로 맞는 드라이버를 설치합니다.
5. 결과
version_main을 Chrome 실제 버전(143)으로 맞추거나 옵션을 제거하면 오류 없이 정상 실행됩니다.
즉, “버전만 바꿨더니 바로 된다”는 현상은 정확히 정상 동작한 것입니다.
결론
이번 문제는 환경 구성이나 pyenv 문제가 아니라 Chrome 버전과 version_main 불일치가 원인이었습니다.
undetected-chromedriver는 버전이 정확히 일치해야 하므로, Chrome 버전을 먼저 확인하고 version_main 값을 맞춰주는 것이 가장 중요합니다.
앞으로 Chrome을 업데이트할 때마다 버전이 변경될 수 있으므로 version_main을 제거하여 자동화하는 것도 좋은 방법입니다.
'Programming' 카테고리의 다른 글
| [분류 성능 평가지표 2편] 오차행렬·정밀도·재현율 그리고 트레이드오프 (0) | 2025.12.13 |
|---|---|
| [분류 성능 평가지표 1편] 정확도(Accuracy)는 왜 조심해서 봐야 할까? (0) | 2025.12.13 |
| [6편] 타이타닉 생존 예측 풀 파이프라인: 전처리부터 교차검증·튜닝까지 한 번에 정리하기 (0) | 2025.12.10 |
| [5편] 머신러닝 데이터 전처리 기본기: 인코딩·스케일링 실습 정리개요 (0) | 2025.12.10 |
| [4편] cross_val_score와 GridSearchCV: 교차검증 자동화 및 하이퍼파라미터 튜닝 (0) | 2025.12.09 |