-
카테고리
-
세부 분야
데이터 엔지니어링
-
해결 여부
미해결
__init__() got an unexpected keyword argument 'service' 에러 질문드립니다.
22.08.17 00:52 작성 조회수 9.47k
1
강사님의 열렬한 팬인 수강생입니다!
강의 정말 잘 듣고 있습니다.
답변 주시면 정말 감사합니다.
답변을 작성해보세요.
0
잔재미코딩 DaveLee
지식공유자2022.08.18
안녕하세요. 답변도우미입니다.
그렇게 말씀해주시니 감사합니다.
우선은 제 의견은 설치되어 있는 selenium 버전을 확인할 필요가 있을 것 같아요. 주피터노트북에서 별도 셀을 만들어 다음과 같이 명령하시면,
!pip show selenium
다음과 같이 selenium 의 버전을 확인하실 수 있는데요. selenium 이 아무래도 3.x.x 버전과 4.x.x 버전의 호환성이 완전히 깨진 상황이더라고요.
-------
Name: selenium
Version: 4.3.0
Summary:
Home-page: https://www.selenium.dev
Author:
Author-email:
License: Apache 2.0
Location: /Users/davelee/opt/anaconda-py39/anaconda3/lib/python3.9/site-packages
Requires: trio, trio-websocket, urllib3
Required-by:
----
그래서, Version 이 4.x.x 대버전이 아니면, crawling_selenium_testing_V1_3_1 주피터노트북에 2022년 6월 30일 업데이트 부분의 기존 코드로 쓰셔야 하거든요. 이참에 selenium 을 최신 버전으로 업데이트해주신 후에, 실행을 해보시는 편이 좀더 나을 것 같습니다.
또, 다음 스택오버플로우에서의 커멘트 처럼
https://stackoverflow.com/questions/70534875/typeerror-init-got-an-unexpected-keyword-argument-service-error-using-p
selenium 3점대 버전이라면 다음과 같은 형태로 테스트를 해보셔도 좋고요.
driver = webdriver.Chrome(executable_path='C:\Program Files\Chrome Driver\chromedriver.exe')
selenium 4점대 버전이라면 다음과 같은 형태로 테스트를 해보셔도 좋을 것 같습니다.
service = Service(executable_path='C:\Program Files\Chrome Driver\chromedriver.exe')
driver = webdriver.Chrome(service=service)
일단 제 PC 에서는 4.3.0 버전이 설치되어 있는데요. 강의 자료의 코드를 그대로 실행했을 때, 정상 실행이 되긴 해서, 꼭 위와 같이 executable_path 를 안넣어도 될 것 같긴 하지만, 뭔가 알기 어려운 PC 환경 차이가 있을 수도 있어서, 이 부분도 한번 참고해보시면 좋을 것 같습니다.
!pip install --upgrade selenium
등으로 해당 패키지를 업데이트를 하실 수 있어서, 이 부분도 참고가 되면 좋겠습니다.
감사합니다.
답변 1