무효 클릭 IP 추적 중...
파이썬/크롤링

[Python 셀레니움] executable_path has been deprecated, please pass in a Service object 에러 해결 방법

꼬예 2022. 3. 15.

크롤링이 정상적으로 되는것같으나 아래와 같은 에러문이 뜨시나요?

 

챗gpt로 크롤링 하는 방법

 

이번 포스팅을 통해 문제를 해결해보도록 하겠습니다!

 

해당 에러는 selenium이 4.대 버전이 되면서 ‘기존 방식이 아닌 새로운 방식으로 코드를 작성하라!’라는 Warning(경고)문 이라고 보시면 됩니다.

그렇기 때문에 경고문이 뜨지만 잘 작동할 수 있었던거죠.

 

그렇다면 해결책은 두 가지겠죠?

  1. 지금 설치하신 최신 버전 셀레니움을 삭제하시고 구버전 selenium을 설치하시면 됩니다.
  2. 최신 selenium에서 바라는대로 코드를 작성하시면 됩니다.

 

예전 버전으로 돌아가기

가장 심플하고 쉬운 방법이죠.

기존에 설치했던 selenium을 삭제하시고

3.0대 selenium을 설치하시면 됩니다.

 

pip uninstall selenium
pip install selenium==3.14.1

 

 

최신 버전에 맞게 코드 수정하기

pip install webdriver_manager

필요한 모듈을 설치해주시고 import 해줍니다.

import time
from selenium import webdriver

from selenium.webdriver.common.by import By
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager

 

그 후 아래와 같이 코드를 수정해주시면 됩니다. 

코드 보면 느낄수 있듯이 4.0에 들어가면서

selenium 드라이버를 크롬버젼에 맞춰 다운로드하고 경로를 찾을 필요 없이 자동적으로 업데이트 되는점이 특징인걸 알 수있습니다.

 

사실 이외에도 태그를 검색하는 방법이 아래와 변경 되었습니다.  

 

새로운 4. selenium 은 기존 3. 과 다른 특징들이 있습니다. 

 

 

이 글과 읽으면 좋은글

  • 트위터 공유하기
  • 페이스북 공유하기
  • 카카오톡 공유하기
이 컨텐츠가 마음에 드셨다면 커피 한잔(후원) ☕

댓글