웹 자동화는 반복적인 브라우저 작업을 효율화하고자 할 때 가장 유용한 기술입니다. 파이썬의 selenium 라이브러리는 웹 페이지를 직접 제어하고 데이터를 추출하거나 버튼을 클릭하는 등 실제 사용자의 행동을 코드로 재현할 수 있게 해줍니다. 이 글에서는 셀레니움의 기본 구조부터 드라이버 설정, 요소 탐색까지 웹 자동화를 시작하는 데 꼭 필요한 핵심 문법을 예제와 함께 정리합니다.
웹 자동화의 핵심 - 셀레니움 구조 이해하기
Selenium은 웹 브라우저를 코드로 조작할 수 있게 해주는 파이썬 라이브러리입니다. 사용자는 크롬, 파이어폭스, 엣지 등 다양한 브라우저를 자동으로 실행하고 조작할 수 있습니다. Selenium의 기본 구조는 다음과 같습니다:
- 웹 드라이버 설정 (ChromeDriver 등)
- get()으로 URL 열기
- find_element()로 HTML 요소 찾기
- .click(), .send_keys() 등으로 조작
- quit()으로 브라우저 종료
from selenium import webdriver
from selenium.webdriver.common.by import By
driver = webdriver.Chrome()
driver.get("https://www.python.org")
search_box = driver.find_element(By.NAME, "q")
search_box.send_keys("selenium")
search_box.submit()
driver.quit()
이처럼 Selenium은 실제 사용자처럼 동작하므로 로그인 자동화, 게시글 등록, 데이터 수집 등에 매우 유용합니다.
드라이버 설정 방법 - 크롬 기준
Selenium을 사용하려면 반드시 해당 브라우저에 맞는 WebDriver가 설치되어 있어야 합니다. 대부분은 Chrome + ChromeDriver 조합을 사용합니다.
설치 순서:
- 크롬 버전 확인 → chrome://settings/help
- 동일 버전의 ChromeDriver 다운로드 → https://chromedriver.chromium.org/
- 다운로드한 WebDriver의 경로를 파이썬에서 지정
from selenium import webdriver
driver = webdriver.Chrome(executable_path="C:/webdriver/chromedriver.exe")
또는 webdriver-manager 사용:
from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager
driver = webdriver.Chrome(ChromeDriverManager().install())
이 방법은 드라이버 파일을 별도로 관리하지 않아도 되고, 크롬 업데이트와 호환성 문제도 자동으로 해결되기 때문에 2024년 현재 가장 많이 사용되고 있습니다.
HTML 요소 선택 방법 - 기본 문법 정리
Selenium에서 요소를 선택할 때는 HTML 태그 구조를 분석해야 합니다. 대표적인 요소 탐색 방식은 아래와 같습니다:
- By.ID : 고유 id로 탐색
- By.NAME : name 속성으로 탐색
- By.CLASS_NAME : 클래스명으로 탐색
- By.TAG_NAME : 태그명으로 탐색
- By.XPATH : 경로 기반 탐색
- By.CSS_SELECTOR : CSS 선택자 사용
from selenium.webdriver.common.by import By
element = driver.find_element(By.ID, "search")
button = driver.find_element(By.CLASS_NAME, "btn")
link = driver.find_element(By.XPATH, "//a[text()='About']")
요소가 로딩되지 않아 오류가 발생하는 경우엔 WebDriverWait을 사용하여 안정적으로 대기한 후 선택할 수 있습니다.
또한 find_elements()를 사용하면 리스트 형태로 여러 개의 요소를 동시에 다룰 수 있어 반복 클릭이나 데이터 수집 시 유용합니다.
파이썬 셀레니움은 웹 자동화의 기초부터 실무까지 아우를 수 있는 강력한 도구입니다. 드라이버 설정만 잘하면 누구나 쉽게 브라우저를 제어할 수 있으며, 다양한 요소 선택 방법을 통해 원하는 작업을 정확하게 수행할 수 있습니다. 오늘부터 셀레니움을 직접 설치하고 테스트 페이지를 자동화하며, 웹 자동화의 첫걸음을 시작해보세요!