Post

파이썬으로 시작하는 셀레니움 - 01

파이썬으로 셀레니움을 사용할 수 있다.

파이썬으로 시작하는 셀레니움 - 01

1. Selenium 소개


Selenium은 웹 브라우저를 자동으로 제어할 수 있는 오픈소스 프레임워크다.
사람이 직접 브라우저에서 클릭하거나 입력하는 작업을 프로그래밍 코드로 자동화할 수 있다.
Python, Java, C#, JavaScript 등 다양한 언어를 지원하며, 특히 Python과의 궁합이 좋아 자동화 작업에 널리 사용된다.

Selenium은 본래 웹 애플리케이션 테스트 자동화를 위해 만들어졌지만, 현재는 다양한 웹 브라우저 자동화 용도로도 활용된다.


2. Selenium 활용


  • 웹사이트 자동 로그인
  • 반복적인 정보 입력
  • 웹 페이지 데이터 수집 (스크래핑)
  • 웹 애플리케이션 테스트 자동화
활용 분야설명
테스트 자동화웹 애플리케이션의 기능을 자동으로 테스트하여 품질을 검증
웹 크롤링웹페이지에서 필요한 데이터를 수집 (동적 페이지 포함)
업무 자동화반복적인 웹 작업을 자동화 (로그인, 검색, 정보 등록 등)
교육 및 실습웹 구조 이해, 자동화 학습 도구로 활용

예를 들어, 매일 특정 사이트에 로그인하여 데이터를 확인하거나 수백 개의 페이지에서 정보를 수집해야 할 때 Selenium은 사람이 직접 하지 않아도 되는 효율적인 방법을 제공한다.


3. Selenium 동작 구조


🔧 구성 요소

구성 요소설명
Selenium WebDriver실제 브라우저와 소통하며 조작을 수행하는 엔진
브라우저 드라이버브라우저와 WebDriver를 연결해주는 중간 매개체 (예: chromedriver)
웹 브라우저사용자가 평소 사용하는 Chrome, Firefox, Edge 등 실제 브라우저


🔄 동작 흐름

1
Python 코드 → Selenium WebDriver → 브라우저 드라이버 → 웹 브라우저

즉, Python 코드가 WebDriver에게 명령을 주면, WebDriver는 브라우저 드라이버를 통해 실제 브라우저를 조작하게 된다.

예를 들어, driver.get(“https://example.com”) 이라는 코드를 실행하면, 브라우저 드라이버가 실제로 웹 브라우저를 실행하고 해당 주소로 이동한다.


4. Selenium 장점


Selenium은 단순한 스크래핑 도구와는 차별화되는 다양한 기능을 제공한다.

No.장점내용
1사람처럼 브라우저를 조작마우스 클릭, 키보드 입력, 스크롤 등 직접적인 제어 가능
2동적 웹페이지 대응 가능JavaScript로 렌더링된 콘텐츠도 처리 가능
3여러 브라우저 지원Chrome, Firefox, Edge 등 다양한 브라우저 사용 가능
4멀티 플랫폼Windows, macOS, Linux 모두 지원
5다양한 언어 호환Python뿐만 아니라 Java, C#, JavaScript 등 다양한 언어로 사용 가능
6테스트 자동화 프레임워크와 연동 용이Pytest, JUnit 등과 함께 테스트 자동화 가능


5. Selenium vs BeautifulSoup


Selenium은 웹 브라우저를 직접 제어하는 반면, BeautifulSoup은 HTML 문서를 분석하여 데이터만 추출한다.


📊 Selenium vs BeautifulSoup 비교표

구분SeleniumBeautifulSoup
작동 방식실제 브라우저를 실행함HTML 소스만 파싱함
JavaScript 처리가능불가능 (렌더링 전 데이터만 수집)
속도느릴 수 있음 (브라우저 구동)빠름
설치 구성WebDriver 필요간단한 설치로 사용 가능
사용 목적자동화 + 스크래핑정적 페이지의 데이터 추출에 적합

단순히 HTML 데이터를 가져오는 작업이라면 BeautifulSoup이 빠르지만, 동적 페이지나 자동화가 필요할 때는 Selenium을 사용해야 한다.

This post is licensed under CC BY 4.0 by the author.