파이썬 최신 버전 셀레니움(Selenium) 사용법과 활용 방법

웹 자동화와 크롤링(스크래핑)을 이야기할 때 절대 빠질 수 없는 도구가 있습니다.
바로 Selenium(셀레니움) 입니다.
특히 파이썬(Python)과 함께 사용하면 누구나 손쉽게 브라우저를 자동화하고, 반복적인 웹 작업을 빠르게 처리할 수 있습니다.
오늘은 **파이썬 최신 버전(2024년 기준)**을 기준으로, 셀레니움의 정의와 기본 사용법, 그리고 다양한 활용 방법까지 자세히 소개해드리겠습니다.
셀레니움이란 무엇인가?
셀레니움(Selenium) 은 원래 웹 애플리케이션을 테스트하기 위해 만들어진 오픈소스 프레임워크입니다.
하지만 지금은 테스트를 넘어서, 웹 브라우저를 사람처럼 자동으로 조작하는 데 가장 널리 사용되는 도구가 되었죠.
간단히 말하면,
- 웹사이트 접속
- 버튼 클릭
- 로그인 자동화
- 글쓰기, 댓글 달기
- 데이터 수집
같은 작업을 프로그래밍 코드로 대신 할 수 있게 해주는 도구입니다.
특히 동적인 웹사이트(스크롤해야 더 많은 데이터가 나오거나, 버튼을 눌러야 내용이 열리는 페이지)에서도 사람처럼 상호작용할 수 있다는 점이 가장 큰 장점입니다.
파이썬 최신 버전에서 셀레니움 설치하기
먼저, 파이썬 최신 버전(예: Python 3.12)에서 셀레니움을 사용하려면 최신 셀레니움 패키지를 설치해야 합니다.
bash복사편집pip install selenium
2024년 이후 버전에서는 Selenium 4 이상이 기본입니다.
이전 버전과는 약간 달라진 부분이 있으니 주의해야 합니다.
특히, 드라이버(크롬드라이버 등) 관리를 자동화하는 기능이 추가되어, 더 간편하게 사용할 수 있습니다.
기본적인 셀레니움 사용법
1. 웹드라이버 세팅
기존에는 직접 크롬드라이버를 다운로드해서 경로를 지정해야 했습니다.
하지만 최신 셀레니움은 Selenium Manager
가 드라이버를 자동으로 다운로드하고 설정해줍니다.
예시:
python복사편집from selenium import webdriver
from selenium.webdriver.common.by import By
# Chrome 브라우저 자동 실행
driver = webdriver.Chrome()
# 원하는 웹페이지 열기
driver.get("https://www.google.com")
# 페이지 제목 출력
print(driver.title)
# 브라우저 닫기
driver.quit()
※ 주의:
처음 실행할 때는 인터넷 연결이 필요합니다.
Selenium Manager가 필요한 드라이버를 자동으로 다운로드합니다.
2. 요소 찾기 (Element 찾기)
페이지 안에서 특정 버튼, 입력창, 텍스트 등을 찾을 때는 By
모듈을 사용합니다.
python복사편집search_box = driver.find_element(By.NAME, "q") # 구글 검색창
search_box.send_keys("Selenium Python") # 검색어 입력
search_box.submit() # 검색 실행
자주 사용하는 검색 방법:
By.ID
By.NAME
By.CLASS_NAME
By.TAG_NAME
By.XPATH
By.CSS_SELECTOR
이 방법을 조합하면, 어떤 웹페이지든 원하는 요소를 정확히 찾을 수 있습니다.
3. 동적 페이지 대응 (대기)
요즘 웹페이지는 바로 로딩되지 않고, 시간이 걸리는 경우가 많습니다.
그래서 기다리는 코드(Explicit Wait
)가 중요합니다.
python복사편집from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
element = WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.ID, "some-id"))
)
설명:
- 최대 10초 동안 기다린 후, 원하는 요소가 나타나면 바로 실행합니다.
- 기다리지 않으면 “찾을 수 없음” 오류가 발생할 수 있어요.
셀레니움 활용 방법
셀레니움을 배우면 정말 다양한 분야에서 활용할 수 있습니다. 대표적인 예시들을 살펴볼게요.
1. 웹사이트 자동 로그인
매번 수동으로 로그인하기 귀찮은 사이트가 있다면, 셀레니움으로 자동화할 수 있습니다.
아이디, 비밀번호 입력하고 로그인 버튼을 클릭하는 과정을 코드로 만들 수 있습니다.
활용 예: 업무용 시스템 자동 로그인, SNS 자동 로그인 등
2. 데이터 수집 (스크래핑)
특정 웹사이트에서 뉴스 제목, 제품 가격, 사용자 후기 등을 수집할 때 셀레니움이 큰 도움이 됩니다.
특히 버튼 클릭이나 스크롤이 필요한 페이지도 쉽게 대응할 수 있습니다.
활용 예: 부동산 매물 수집, 가격 모니터링, 트렌드 분석용 데이터 수집
3. 자동화 봇 만들기
- 상품 재고 알림 봇
- 주식 가격 모니터링 봇
- 티켓팅 자동화 봇 등 다양한 자동화 프로그램을 셀레니움으로 제작할 수 있습니다.
주의:
이용하는 사이트의 규정과 정책을 반드시 확인해야 합니다. 무분별한 자동화는 차단이나 법적 문제가 될 수 있습니다.
셀레니움 최신 버전에서 추가된 주요 기능
최신 셀레니움에서는 여러 가지 편의 기능이 추가되었습니다.
- Selenium Manager
드라이버 자동 다운로드/설정 지원 - 새로운 Wait 시스템 강화
명시적 대기가 더 정교해졌습니다. - Shadow DOM 지원 강화
복잡한 웹앱(Element가 숨겨져 있을 때)도 쉽게 접근 가능 - 더 향상된 네이티브 이벤트 지원
실제 브라우저와의 상호작용이 훨씬 자연스러워졌습니다.
따라서 과거 방식으로만 공부하면 안 되고, 항상 최신 문서를 참고하는 습관을 들이는 것이 중요합니다.
셀레니움 배우기 좋은 추천 학습 방법
- 기초부터 시작하기:
간단한 웹페이지 자동화를 먼저 해보세요. - 작은 프로젝트 만들어 보기:
뉴스 헤드라인 수집기, 자동 로그인 프로그램 등 쉽게 끝낼 수 있는 프로젝트를 시작하면 재미를 느낄 수 있습니다. - 실제 문제 해결:
필요한 일을 자동화해보면서 배우는 것이 가장 빠릅니다. - 공식 문서 보기:
Selenium 공식 사이트는 항상 최신 정보를 제공합니다.
마무리
파이썬과 셀레니움을 함께 활용하면, 웹 세상에서 할 수 있는 일의 폭이 놀라울 만큼 넓어집니다.
단순히 웹사이트를 자동화하는 것을 넘어, 데이터를 수집하고, 비즈니스에 활용하며, 개인적인 시간을 절약하는 데에도 큰 도움이 됩니다.
처음에는 낯설 수 있지만, 몇 번만 직접 따라해보면 분명히 “어? 별로 어렵지 않네?” 하고 느끼게 될 거예요.
웹을 자동으로 탐험하는 이 매력적인 기술, 지금 바로 셀레니움과 함께 시작해보세요! 🚀