본문 바로가기
파이썬/파이썬 기초

파이썬(Python) 셀레니움 크롬 드라이버 자동 설치

by 이박수 2024. 9. 2.

한동안 포스팅을 못했다. 정신없이 바쁜일도 있었고, 한동안 파이썬을 다룰일이 없었기때문에 포스팅을 미루고 있다가 ...얼마전 다시 파이썬을 시작하게 되면서 다시 포스팅을 해보려고한다...

 

작심삼일이 되지 않길 바라면서....다시 시작하게 되었다.

 

최근 파이썬을 다시 시작하면서 크롬 드라이버를 업데이트하고 실행해보았는데 생각보다 잘 되지 않았다.

그래서 몇 가지 문서를 검색해보던 중 더이상 크롬 드라이버를 다운로드 할 필요가 없다고 한다?

 

셀레니움 4.4.3 버전인가? 그 이후 버전부터 셀레니움이 자동으로 크롬 드라이버를 업데이트 해 준다고 하니 소스 관련 정보를 찾아 실행해보니 잘 된다.

더 이상 크롬 드라이버를 수동으로 설치할 필요가 없다고 하니 너무 기분이 좋다. 그래서 포스팅을 해보려고 한다.

 

목차

파이썬(Python) 셀레니움 설치 및 업그레이드

크롬드라이버 자동 설치를 위한 webdriver_manager 설치

셀레니움 크롬 드라이버 테스트

셀레니움 실행 오류 케이스 #1

 

파이썬(Python) 셀레니움 설치 및 업그레이드

파이썬 크롬 드라이버를 자동 설치하려면 먼저 셀레니움 최신 버전이 필요하다. 

각자 자신의 셀레니움 버전을 확인해 보도록 하자.

 

셀레니움 버전을 확인 하는 방법은 아래와 같다 (VSCODE 기준이다)

 

import selenium

print(help(selenium))

 

 

VS code를 실행해보면 아래와 같이 나타날 것이다. 엔터 몇번 치다 보면 아래에 버전이 나온다

내 버전은 4.31.1 버전임을 알 수 있다.

 

혹시 버전이 4.4.3 이전 버전이면 셀레니움을 업데이트 하기 바란다. 업데이트는 아래 처럼 하자.

 pip install selenium --upgrade

 

혹시 아직 셀레니움이 설치가 안되어있다면, 처음 설치를 한다면 아래와 같이 해주면 된다.

pip install selenium

크롬드라이버 자동 설치를 위한 webdriver_manager 설치

셀레니움 설치가 완료되었다면 이제 Webdriver Manager를 설치해주자. 아마도 이 패키지가 자동으로 크롬 드라이버를 업데이트 해주는 것 같다.

pip install webdriver_manager

 

이렇게 해주면 설치가 모두 끝났다. 이제 테스트를 해보도록 하자.

셀레니움 크롬 드라이버 테스트

from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager
from selenium.webdriver.chrome.service import Service as ChromeService

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

 

위의 코드를 입력하고 실행해보자.

 

크롬 창이 번쩍하고 나타났다가 사라진다. while(1)을 추가해 무한 루프를 돌려보자.

from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager
from selenium.webdriver.chrome.service import Service as ChromeService

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


while(1):
    pass

크롬 창이 잘 나타나는 것을 알 수 있다. 무한루프를 줬기때문에 브라우저를 닫는다고 프로그램이 종료되지 않는다.

VS code에서 받으시 종료해 줘야 한다.

driver.get()을 추가하여 네이버에 접속해보자. 네이버 창이 잘 뜬다면 성공이다.

from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager
from selenium.webdriver.chrome.service import Service as ChromeService

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

driver.get('http://www.naver.com')

while(1):
    pass

셀레니움 실행 오류 케이스 #1

 

"ImportError: cannot import name 'webdriver' from partially initialized module 'selenium'

(most likely due to a circular import)"

 

혹시나 아래와 같이 오류가 발생한다면 파일 이름을 selenium.py가 아닌지 확인해보자.

이 오류가 나타나서 무슨 오류인지 한참 헤매었다. 

 

파일이름을 다른 이름으로 변경하니 바로 해결된다.

 

오늘은 이렇게 셀레니움을 사용시 불편했던 크롬 웹 드라이버의 자동 설치 과정을 알아보았다. 간단하게 업데이트 할 수 있고, 설정이 가능하여 사용하기 참 편리하다.

 

앞으로 관련된 내용을 자주자주 업데이트 하도록 하겠다.

 

기대 하시라!