본문 바로가기
Engineering/Python

[Python] chrome-driver 업데이트 문제 해결하기

by SPICA910 2023. 11. 13.
반응형

열심히 크롤링 프로그램을 만들었습니다. 

근데... 그런데.... 

자꾸 동작을 안하고 종료가 됩니다. 

 

뭐...뭐지???

 

내용을 읽어보면 The ChromeDriver Version cannot be discovered. 로 표시되고 프로그램은 exception error로 꺼져있습니다. 

처음에 코드를 짤때 Chrome Browser의 Version은 114.0.5735 버전으로 시작을 했는데 Error창에 114버전으로 실행해서 꺼졌다라고 나왔습니다. 이것은 프로그램 작성시 Chrome Driver를 다운로드 하여 진행하는데 Driver의 버전과 Browser의 버전이 일치해야만 정상동작합니다. 

 하지만 문제는 Chrome Browser는 자동 업데이트를 지원하므로 115, 116으로 점점 업데이트를 하고 114버전과는 멀어져갑니다. 

이때부터 크롬을 지우고 114버전을 재설치하고 업데이트를 막아도.... 자연스럽게 크롬은 최신버전으로 업데이트가 됩니다.

따라서! 방법을 바꾸어 Chrome Driver Manager가 최신으로 업데이트 되도록 하면 문제가 해결됩니다. 

from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
import requests
from bs4 import BeautifulSoup
from selenium.common.exceptions import UnexpectedAlertPresentException, NoAlertPresentException, NoSuchElementException

chrome_options = webdriver.ChromeOptions()
chrome_options.add_experimental_option("excludeSwitches", ["enable-logging"])

# Use ChromeDriverManager to install and get the path of the ChromeDriver executable
chrome_driver_path = ChromeDriverManager().install()

# Create the Chrome WebDriver instance using the path obtained from ChromeDriverManager
driver = webdriver.Chrome(executable_path=chrome_driver_path, options=chrome_options)

 

일반적으로 크롤링을 위한 기본 코드는 위의 샘플에서 시작하면 크롬 업데이트의 방해를 벗어나실수 있을 것입니다. 

반응형

댓글