티스토리 뷰
문제상황
초보자들이 Selenium을 활용한 크롤링 시 발생하는 대표적인 오류다.
"Chrome의 버전이 115.0.5790.114이고, ChromeDriver의 버전이 114.0.5735.90인 것을 확인했습니다. 이 두 버전은 호환되지 않습니다."
에러문장을 번역하면 위의 한문장으로 요약가능했다.
ChromeDriver가 현재 크롬 브라우저보다 버전이 낮아서 발생하는 문제다.
찾아보니 ChromeDriver 버전과 Chrome버전이 다를때 발생하는 유명한(?) 에러였고
ChromeDriver 버전과 Chrome버전이 같아야한다는 것만 알면 간단히 해결할 수 있는 에러였다.
에러메시지
해결책
우선 둘의 버전을 확인한뒤 둘의 버전이 불일치하는지부터 알아보자(만약 이게 아니라면 다른 해결방안을 모색하시길..)
버전 확인
크롬 버전확인하기
크롬으로 접속하여, 더보기 -> 도움말 -> Chrome 정보를 통해서도 확인가능하고
터미널상에서 아래 코드를 쳐서 확인도 가능
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --version
ChromeDriver 버전확인하기
exe파일을 통해서도 확인가능하고
터미널상에서 아래코드를 입력해서도 알 수 있다
chromedriver version
터미널상에서 2개를 한번에 알고싶다면 위 코드 2줄을 나란히 치면 아래처럼 나올 것이다.
115뒤의 부분은 마이너한 부분으로 완전히 동일하면 좋겠지만,
정확히 일치하지않아도 크롬 브라우저와의 호환에는 문제가 되지않는다.
완전히 동일하게 하고싶다면
import chromedriver_autoinstaller # 임포트 해준후
chromedriver_autoinstaller.install() # 실행
chromedriver_autoinstaller 패키지는 사용자의 운영체제와 크롬 브라우저 버전을 자동으로 감지하고, 최신 크롬 드라이버를 자동으로 설치해주어 간편하게 최신 버전의 크롬 드라이버를 사용할 수 있다.
ChromeDriver의 버전이 더 낮다면,아래 링크를 통해 호환이 되는 버전으로 다운받아야한다.
다운받은후 접근하기 쉬운 파일에 저장해두자(필자의 경우 Documents에 저장해두었다)
https://chromedriver.chromium.org
그런다음 터미널상에서 아래 명령어를 통해 PATH 환경 변수에 추가해주자(둘중 하나를 선택해서 복붙하면 된다. 나는 zsh셀에 해당했다)
nano ~/.bash_profile # bash 셸을 사용하는 경우
nano ~/.zshrc # zsh 셸을 사용하는 경우
들어간뒤아래를 추가해주고 ctrl + x하고 tap이나 enter를 눌러 저장한뒤 zshrc에서 나온뒤에
export PATH=$PATH:각자경로입력
# 예시 export PATH=$PATH:/Users/idohyeong/Documents
변경사항을 적용하는 코드인 아래 코드를 입력해주자
source ~/.zshrc
예제 실행 코드
import pandas as pd
from selenium import webdriver
url = 'https://purelime.tistory.com'
# Chrome 웹드라이버 생성
browser = webdriver.Chrome()
# 웹페이지 열기
browser.get(url)
'Error Diary' 카테고리의 다른 글
#6 [Python] Import "tensorflow.keras.preprocessing.text" could not be resolved (0) | 2023.08.19 |
---|---|
#5 [Flutter] "dependOnInheritedWidgetOfExactType<UncontrolledProviderScope>()..." (0) | 2023.08.14 |
#4. no material widget found (0) | 2023.08.06 |
#3 [Mac] "손상되었기 때문에 열 수 없습니다." (0) | 2023.08.03 |
#1 [Xcode&Swift] this class is not key value coding-compliant for the key (0) | 2023.03.16 |