본문 바로가기
카테고리 없음

파이썬 크롤링 셀레니움 실행 오류 정리

by 원띵2 2026. 3. 31.

파이썬 크롤링을 시작하면 코드 문법보다 먼저 실행 환경에서 막히는 경우가 많습니다. 분명 예제대로 입력했는데 import가 되지 않거나, 셀레니움이 열리지 않거나, 웹드라이버 오류가 나면 무엇부터 확인해야 할지 막막해집니다. 이번 글은 설치와 환경 문제를 어떻게 찾고 해결했는지 설명해보겠습니다.

 

 

코드는 맞는데 왜 실행이 안 되는지 먼저 구분해야 합니다

 

처음 셀레니움을 실행할 때 가장 답답한 순간은 코드가 틀린 것 같지 않은데도 프로그램이 시작조차 되지 않는 경우입니다. 대표적으로 ModuleNotFoundError, ImportError, NoSuchDriverException, SessionNotCreatedException 같은 오류가 자주 나옵니다. 이럴 때 많은 분들이 코드부터 다시 고치기 시작하는데, 실제로는 코드 내용보다 실행 환경이 꼬여 있는 경우가 더 많습니다.

제가 부딪혔던 문제도 비슷했습니다. 분명 pip install selenium을 했는데도 import selenium에서 오류가 났습니다. 원인을 따라가 보니 파이썬이 여러 버전 설치되어 있었고, 패키지는 한쪽 환경에만 설치된 상태였습니다. 즉, 설치는 되었지만 내가 실행하는 인터프리터가 그 패키지를 보고 있지 않았던 것입니다. 이런 상황에서는 설치 명령을 여러 번 반복해도 해결되지 않습니다.

그래서 가장 먼저 해야 하는 일은 오류를 종류별로 나누는 것입니다. import 자체가 안 되면 패키지 설치 위치나 가상환경 문제를 의심해야 합니다. 반대로 import는 되는데 브라우저 실행에서 막히면 셀레니움 버전, 브라우저 버전, 드라이버 연결 문제를 확인해야 합니다. 이 구분만 해도 점검 속도가 훨씬 빨라집니다.

아래 명령어로 현재 어떤 파이썬과 pip를 쓰고 있는지 먼저 확인해두면 좋습니다.

python --version
pip --version
where python
where pip

 

맥이나 리눅스 환경이라면 where 대신 which를 사용하면 됩니다. 여기서 중요한 점은 python과 pip가 같은 위치를 바라보는지 확인하는 것입니다. 서로 다른 경로를 가리키면 설치와 실행 환경이 분리되어 있을 가능성이 큽니다.

 

 

가상환경과 패키지를 확인하고 버전을 맞추면 대부분 해결됩니다

 

실행 오류를 줄이려면 가장 먼저 가상환경부터 정리하는 편이 안정적입니다. 여러 프로젝트를 한 컴퓨터에서 같이 다루다 보면 예전 패키지가 남아 있거나, 다른 버전의 셀레니움이 섞여 충돌하는 일이 생깁니다. 이때는 새 폴더에서 가상환경을 만들고 필요한 패키지만 다시 설치하는 방식이 가장 깔끔합니다.

python -m venv venv
venv\Scripts\activate
python -m pip install --upgrade pip
pip install selenium

 

이렇게 설정한 뒤 아래 코드로 셀레니움 import와 브라우저 실행을 아주 짧게 테스트해보면 됩니다.

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

driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()))
driver.get("https://www.naver.com")
print(driver.title)
driver.quit()

 

위 예시는 드라이버 경로를 직접 관리하지 않고 webdriver-manager로 자동 설치하는 방식이라 초보자에게 특히 편합니다. 필요하다면 아래 패키지도 함께 설치합니다.

pip install webdriver-manager

 

여기서 중요한 것은 셀레니움만 최신이라고 끝이 아니라는 점입니다. 크롬 브라우저 버전, 크롬드라이버 버전, 셀레니움 버전이 너무 어긋나면 실행 오류가 납니다. 특히 브라우저가 자동 업데이트된 뒤 기존 드라이버가 맞지 않아 갑자기 오류가 생기는 경우가 많습니다. 예전에는 잘 되던 코드가 오늘 갑자기 안 되는 이유가 바로 여기에 있는 경우가 많습니다.

또 하나 자주 놓치는 부분은 실행하는 프로그램의 인터프리터 설정입니다. VS Code나 PyCharm에서는 터미널에서 가상환경을 활성화했더라도, 편집기 자체는 다른 파이썬을 선택하고 있을 수 있습니다. 그래서 터미널에서는 되는데 실행 버튼을 누르면 안 되는 일이 생깁니다. 이 경우에는 에디터의 Python Interpreter 설정을 열어서 현재 만든 가상환경 경로를 직접 지정해야 합니다.

 

 

오류를 한꺼번에 잡으려 하지 말고 확인 순서를 고정하면 편합니다

 

셀레니움 실행 오류는 처음 보면 복잡해 보이지만, 실제로는 확인 순서를 정해두면 꽤 단순하게 풀립니다. 제가 정리한 기준은 이렇습니다. 첫째, import가 안 되면 패키지 설치 위치와 가상환경부터 확인합니다. 둘째, import는 되는데 브라우저가 안 열리면 브라우저와 드라이버, 셀레니움 버전 조합을 점검합니다. 셋째, 터미널에서는 되는데 편집기 실행만 안 되면 인터프리터 설정을 확인합니다. 이 세 단계만 잡아도 대부분의 설치 및 환경 문제는 해결할 수 있습니다.

 

중요한 점은 오류 메시지를 무작정 두려워하지 않는 것입니다. 오류는 고장 안내문에 가깝습니다. No module named는 모듈이 없거나 잘못된 환경을 뜻하고, driver 관련 오류는 실행 파일 연결 문제를 뜻하며, session not created는 버전 불일치를 의심하라는 신호에 가깝습니다. 이 메시지를 유형별로 읽기 시작하면 해결 속도가 훨씬 빨라집니다.

 

실무나 개인 프로젝트에서도 크롤링 코드는 한 번 작성해두면 오래 쓰는 경우가 많습니다. 그래서 처음부터 실행 환경을 안정적으로 정리해두는 것이 오히려 시간을 절약합니다. 특히 블로그나 강의 예제를 따라 할 때는 내 컴퓨터 환경이 작성자와 다르다는 점을 꼭 염두에 두어야 합니다. 같은 코드라도 내 환경에 맞게 파이썬 버전, 가상환경, 패키지 설치 경로를 맞춰야 안정적으로 돌아갑니다.

 

결국 이 주제의 핵심은 코드 실력보다 점검 습관입니다. 셀레니움 오류가 날 때마다 코드를 전부 뒤엎기보다, 실행 환경부터 차분하게 확인하는 흐름을 몸에 익히면 이후 다른 크롤링 문제를 만났을 때도 훨씬 덜 흔들리게 됩니다. 설치 문제를 정리해두면 이후 로그인 유지, 동적 페이지 수집, 한글 깨짐 같은 다음 단계도 훨씬 편하게 넘어갈 수 있습니다


소개 및 문의 · 개인정보처리방침 · 면책조항

© 2026 블로그 이름