seleniumbase 기술 스텍 정리

한빈수윤·2025년 3월 31일

1. SeleniumBase

seleniumbase는 기존 Selenium WebDriver를 좀 더 쉽게 쓸 수 있게 래핑해놓은 프레임워크.

driver 직접 생성 없이 with SB() as sb:로 바로 크롬 실행 가능.

브라우저 설정 (uc=True, locale="ko", test=True) 등도 간결하게 처리 가능.

셀레니움보다 직관적인 함수명이 많아서 복잡한 코드 없이 테스트 흐름을 구성할 수 있음.

2. SB (SeleniumBase Context Manager)

SB()는 SeleniumBase의 실행 환경을 열고 브라우저를 제어할 수 있게 해줌.

여기서 uc=True는 Undetected Chrome 설정을 켜는 것. 일반적인 크롤링 탐지를 우회하는 데 사용.

locale="ko"는 페이지 언어 설정을 한국어로 맞춰주는 역할.

test=True를 쓰면 테스트용 로그와 스크린샷 저장 등의 기능이 활성화됨.

3. sb.open()

특정 URL로 접속하는 메서드.

driver.get() 대신 사용됨.

4. sb.uc_gui_click_captcha()

자동화 탐지를 막기 위해 나오는 GUI 기반 캡챠를 우회하는 SeleniumBase 내장 기능.

Undetected Chrome을 사용하는 경우에도 여전히 캡챠 우회가 필요할 수 있기 때문에 자주 사용됨.

5. sb.wait_for_element(selector, timeout=10)

해당 요소가 로딩될 때까지 기다림.

기본 Selenium에서는 WebDriverWait().until()을 복잡하게 써야 하는데, 여기선 한 줄로 간단하게 사용 가능.

페이지 전환, Ajax 호출 등이 있는 경우 반드시 써야 안정적인 크롤링 가능.

6. sb.type() + sb.send_keys()

.type(selector, text)는 텍스트 입력.

.send_keys(selector, Keys.ENTER)는 입력 후 Enter 키를 누르도록 구현.

여기선 상품명을 입력하고 검색을 실행하는 역할을 함.

7. sb.click()

버튼, 탭 등을 클릭할 때 사용.

.click(selector)는 해당 요소가 클릭 가능한 상태가 되면 자동으로 클릭해줌.

여기선 "가격비교" 탭, 그리고 첫 번째 상품 클릭에 사용됨.

8. sb.find_elements() + .find_element()

검색 결과나 반복되는 리스트 정보를 가져올 때 사용.

CSS selector 기반으로 특정 열(td) 안의 텍스트를 추출할 수 있음.

여기선 각 판매처 행을 순회하면서 판매처, 가격, 배송비를 각각 추출.


selenium vs seleniumbase

profile
버거운 컴공 적응기>**<^*^##

0개의 댓글