웹스크래핑과 데이터 수집

Chapter 3-6 Tip 오류 해결

Chansman 2025. 4. 16. 10:37

🛠️ ChromeDriver 버전 호환성 오류 해결

에러 원인:

이 오류는 ChromeDriverGoogle Chrome 브라우저의 버전이 호환되지 않아서 발생합니다. 두 버전이 맞지 않으면 Selenium을 사용하여 웹 자동화를 실행할 때 문제가 발생할 수 있습니다. 이 문제를 해결하려면 ChromeDriver의 버전을 Chrome 브라우저의 버전과 일치시켜야 합니다.


📌 해결 방법

  1. 현재 설치된 ChromeDriver 삭제이 명령어는 현재 설치된 ChromeDriver 파일을 시스템에서 삭제합니다.
rm /opt/homebrew/bin/chromedriver
  1. 먼저, 시스템에 설치된 기존의 ChromeDriver를 삭제합니다. 아래 명령어를 터미널에서 실행하여 제거합니다:
  2. Chrome 버전에 맞는 ChromeDriver 다운로드ChromeDriver의 공식 다운로드 페이지에서 Chrome 127 버전에 맞는 ChromeDriver를 선택하여 다운로드합니다.
  3. 현재 사용 중인 Google Chrome 브라우저의 버전을 확인해야 합니다. 브라우저에서 chrome://settings/help를 입력하면 현재 버전 정보를 확인할 수 있습니다. 예를 들어, Chrome 127.x 버전을 사용 중이라면, 해당 버전에 맞는 ChromeDriver를 다운로드해야 합니다.
  4. 다운로드한 ChromeDriver 설치이 명령어는 압축을 풀고 chromedriver를 /opt/homebrew/bin/ 디렉토리로 이동시킵니다.
unzip chromedriver_mac64.zip
mv chromedriver /opt/homebrew/bin/
  1. 다운로드한 ChromeDriver의 압축을 풀고, 시스템의 적절한 디렉토리로 이동시킵니다. 보통 Homebrew로 설치된 시스템에서는 /opt/homebrew/bin/ 디렉토리에 복사합니다.
  2. 권한 설정이 명령어는 chromedriver 파일에 실행 권한을 부여하여, 이후 Selenium에서 사용할 수 있도록 설정합니다.
chmod +x /opt/homebrew/bin/chromedriver
  1. 이제 chromedriver에 실행 권한을 부여해야 합니다. 터미널에서 아래 명령어를 실행하여 실행 권한을 추가합니다:

📚 추가 팁

  • Chrome 버전 확인 방법:
    • Windows 및 Mac에서 Chrome 버전을 확인하려면, Chrome 브라우저를 열고 chrome://settings/help에 접속하여 버전을 확인합니다.
  • Selenium에서 ChromeDriver 경로 설정:
    ChromeDriver를 설치한 후 Selenium에서 경로를 명시적으로 지정해야 할 수도 있습니다. webdriver.Chrome()을 호출할 때 executable_path를 사용하여 경로를 설정할 수 있습니다.
from selenium import webdriver

driver = webdriver.Chrome(executable_path='/opt/homebrew/bin/chromedriver')
  • ChromeDriver 자동 업데이트:
    webdriver_manager 라이브러리를 사용하면 ChromeDriver의 버전 관리를 자동으로 할 수 있습니다. 이 라이브러리는 브라우저 버전에 맞는 최신 ChromeDriver를 자동으로 다운로드하여 설치해줍니다.
from webdriver_manager.chrome import ChromeDriverManager
from selenium import webdriver

driver = webdriver.Chrome(ChromeDriverManager().install())

✅ 마무리

이 과정을 통해 ChromeDriverGoogle Chrome의 버전 호환 문제를 해결할 수 있습니다. 버전이 맞지 않으면 웹 자동화가 실패할 수 있기 때문에, 항상 Chrome 브라우저와 ChromeDriver의 버전이 일치하는지 확인하는 것이 중요합니다.