topic난이도

Selenium — 로봇이 브라우저를 조작

실제 브라우저를 코드로 자동 조작하는 도구. 로그인, 동적 페이지 크롤링, UI 테스트에 사용.

#Selenium#브라우저자동화#크롤링#동적페이지#로그인
왜 배우는가

BeautifulSoup은 정적 HTML만 다룬다. JavaScript로 렌더링되는 동적 페이지나 로그인이 필요한 사이트는 Selenium이 필요하다.

Selenium은 진짜 브라우저(Chrome/Firefox)를 코드로 조종하는 로봇이다. 주소 입력, 클릭, 스크롤, 폼 입력, 로그인까지 사람이 하는 모든 브라우저 동작을 자동화한다.

Selenium은 렌더링된 DOM 트리를 기반으로 요소를 찾아 클릭·입력한다
용도설명
`webdriver.Chrome()`크롬 브라우저 실행
`driver.get(url)`URL로 이동
`driver.find_element(By.CSS_SELECTOR, sel)`요소 찾기
`element.click()` / `.send_keys()`클릭 / 텍스트 입력
`driver.page_source`렌더링된 HTML 가져오기

webdriver-manager가 ChromeDriver를 자동 설치한다. find_element로 요소를 찾고 send_keys로 입력, click으로 클릭한다. quit()으로 브라우저를 닫는다.

Claude Code에서 "이 사이트에 로그인하고 데이터를 크롤링해줘"라고 하면 Selenium 기반의 자동화 코드를 생성한다. headless 모드(화면 없이 실행)로 서버에서도 동작 가능하다. 단, 자동 크롤링의 법적 허용 범위를 반드시 확인하자.