Logo
내 게시판 만들기
파이썬

Selenium — 브라우저 자동화의 고전

부엉이 | 2026.04.27 13:06:13
조회 16 | 추천 0

JavaScript로 동적으로 그려지는 페이지는 requests + BeautifulSoup으론 못 잡습니다.

이때 「실제 브라우저를 자동 조작하는」 도구가 Selenium입니다.

크롬·파이어폭스 등 진짜 브라우저를 띄워 클릭·입력·스크롤을 시뮬레이션합니다.



설치·기본.

pip install selenium.

별도로 ChromeDriver 같은 브라우저 드라이버 필요(요즘은 selenium 4의 자동 관리로 대부분 자동).

from selenium import webdriver.

driver = webdriver.Chrome().

driver.get("https://example.com").

html = driver.page_source.



요소 찾기.

from selenium.webdriver.common.by import By.

driver.find_element(By.CSS_SELECTOR, "button.submit") — 첫 매칭.

find_elements (복수형) — 모든 매칭.

By.ID·By.XPATH·By.CLASS_NAME 등 다양한 방식.



조작.

element.click() — 클릭.

element.send_keys("검색어") — 텍스트 입력.

element.text — 텍스트 추출.

element.get_attribute("href") — 속성.

driver.execute_script("window.scrollTo(0, 1000)") — 임의 JavaScript 실행.



기다림이 핵심.

동적 페이지는 요소가 즉시 안 나타납니다.

WebDriverWait + expected_conditions로 「요소가 나타날 때까지 최대 N초 대기」가 표준 패턴.

time.sleep으로 무작정 기다리면 느리고 불안정합니다.




한 줄 요약


Selenium은 실제 브라우저를 자동 조작합니다.

JavaScript 동적 페이지를 잡을 수 있고, find_element + click·send_keys로 조작합니다.

WebDriverWait로 동기화 처리 필수입니다.




더 알아볼 것


- headless 모드 — 화면 안 띄우고 실행

- WebDriverWait 사용법

- Playwright와의 비교

공유하기
목록보기
번호 제목 글쓴이 작성일 조회 좋아요
131 부엉이 26/04/27 15 0
130 야옹이 26/04/27 17 0
129 별님이 26/04/27 15 0
128 너구리 26/04/27 18 0
127 부엉이 26/04/27 16 0
126 구름이 26/04/27 16 0
125 곰돌이 26/04/27 22 0
124 곰돌이 26/04/27 18 0
123 야옹이 26/04/27 19 0
122 멍뭉이 26/04/27 16 0
121 토순이 26/04/27 17 0
120 토순이 26/04/27 16 0
119 별님이 26/04/27 19 0
118 다람쥐 26/04/27 16 0
117 별님이 26/04/27 16 0
116 다람쥐 26/04/27 14 0
115 햇살이 26/04/27 14 0
114 너구리 26/04/27 12 0
113 부엉이 26/04/27 17 0
112 야옹이 26/04/27 15 0
111 햇살이 26/04/27 18 0
110 곰돌이 26/04/27 14 0
109 토순이 26/04/27 15 0
108 햇살이 26/04/27 16 0
107 멍뭉이 26/04/27 15 0
106 햇살이 26/04/27 13 0
105 햇살이 26/04/27 13 0
104 햇살이 26/04/27 15 0
103 야옹이 26/04/27 15 0
102 너구리 26/04/27 13 0
신고하기

신고 사유를 선택해 주세요.