크롬 드라이버 버전을 알아서 맞춰주는 셀레늄 WebDriver Manager 3줄 세팅법
어제까지만 해도 완벽하게 작동하던 포스팅 자동화 봇이 오늘 아침 갑자기 에러를 뿜으며 멈춰 섰습니다. 파이썬 터미널을 확인해보니 시뻘건 에러 메시지가 저를 반겨주더군요.
SessionNotCreatedException: Message: session not created: This version of ChromeDriver only supports Chrome version 121
원인은 간단했습니다. 밤사이 제 PC의 크롬(Chrome) 브라우저가 최신 버전으로 자동 업데이트가 되었는데, 파이썬이 제어하는 크롬 드라이버(ChromeDriver)는 구버전 그대로 머물러 있어서 서로 버전이 맞지 않았던 겁니다.
이전까지는 이 에러가 뜰 때마다 구글에 들어가서 최신 드라이버를 다운로드하고, 압축을 풀어서 폴더에 덮어씌우는 막노동을 수동으로 반복했습니다. 1인 기업에게 시간은 금인데, 이런 잔업에 시간을 뺏길 수는 없죠.
빨간 에러 메시지를 보고 깊은 한숨을 쉬며 드라이버를 수동 다운로드하는 대빵님의 모습 (AI 분위기 이미지 - 파일명: image_01.png)
1. webdriver-manager 라이브러리 도입
크롬 브라우저 버전이 올라갈 때마다 드라이버를 찾아 삼만리 하는 고통을 영구적으로 없애주는 구원자가 있습니다. 바로 webdriver-manager 라이브러리입니다.
이 라이브러리는 셀레늄 코드가 실행될 때, 현재 내 PC에 설치된 크롬 버전을 스스로 스캔합니다. 그리고 그 버전에 딱 맞는 크롬 드라이버를 백그라운드에서 조용히 다운로드하고 캐시(Cache)에 저장하여 즉시 연결해 줍니다.
즉, "이제 드라이버 버전 관리에 신경 쓰지 마라. 내가 다 알아서 해줄게"라고 말하는 똑똑한 매니저를 고용하는 것과 같습니다.
웹드라이버 매니저가 백그라운드에서 크롬 버전을 자동 매칭하는 개념을 설명하는 모식도 (일러스트 이미지 - 파일명: image_02.png)
2. 패키지 설치
먼저 터미널에서 라이브러리를 설치합니다.
pip install webdriver-manager
3. 파이썬 코드에 매니저 탑재하기
기존의 셀레늄 구동 코드를 다음과 같이 단 3줄만 수정하면 됩니다.
[기존의 구식 방식 (수동 경로 지정)]
from selenium import webdriver
# 수동 다운로드한 드라이버 경로를 쌩으로 지정... (비추천)
driver = webdriver.Chrome(executable_path='C:/driver/chromedriver.exe')
[개선된 최신 방식 (자동화)]
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager
# 1. 봇 우회를 위한 옵션 세팅 (이전 편 참고)
options = webdriver.ChromeOptions()
options.add_argument('--disable-blink-features=AutomationControlled')
# 2. 크롬 드라이버 자동 다운로드 및 연결
service = Service(ChromeDriverManager().install())
driver = webdriver.Chrome(service=service, options=options)
driver.get("https://j-yuneng.com")
ChromeDriverManager().install() 이 한 줄이 핵심입니다. 이 코드가 실행되면, 콘솔 창에 드라이버를 매칭하고 다운로드하는 로그가 잠깐 스쳐 지나가며, 항상 내 브라우저와 찰떡궁합인 드라이버가 준비됩니다.
자동화 코드가 실행되면서 매니저가 드라이버를 설치하고 바로 성공적으로 사이트에 접속하는 화면 (웹 UI 시뮬레이션 화면 - 파일명: image_03.png)
결론: 진정한 자동화는 유지보수의 최소화
자동화 파이프라인의 핵심은 "유지보수(Maintenance)를 최소화"하는 것입니다. 코드를 짜는 시간보다 고치는 시간이 길어진다면 그것은 진정한 자동화가 아닙니다.
webdriver-manager를 도입한 이후, 저는 두 달 넘게 크롬 버전에 신경조차 쓰지 않고 자동화 봇을 돌리고 있습니다. 구글이 크롬 업데이트를 10번을 하든 100번을 하든, 제 코드는 끄떡없이 돌아갑니다. 사소해 보이지만, 안정적인 파이프라인 구축을 위해서는 절대 빼놓을 수 없는 기초 공사입니다.
이제 유지보수에서 벗어나 커피를 마시며 여유롭게 자동화 봇을 감상하는 대빵님의 모습 (AI 분위기 이미지 - 파일명: image_04.png)
이제 봇 차단도 우회했고(10편), 버전 에러도 영구적으로 해결했습니다. 이제 진짜로 브라우저에 지시를 내려볼 차례입니다.
다음 편에서는, 클릭 한 번으로 수백 개의 유튜브 채널 영상을 분석하고 스크래핑해오는 강력한 데이터 수집 봇의 핵심 뼈대를 만들어 보겠습니다. 기대해 주세요!
'Python 업무 자동화' 카테고리의 다른 글
| 구글·네이버 봇 차단을 무력화하는 셀레늄 3대 우회 보안 설정 노하우 (0) | 2026.06.01 |
|---|---|
| 티스토리 API의 한계를 깨부수는 셀레늄 자동 포스팅 파이썬 코드 구현기 (0) | 2026.05.31 |
| 클릭 한 번으로 블로그와 쇼츠를 여러 채널에 동시에 업로드하는 방법 (0) | 2026.05.30 |