Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
Tags
- 헥사고날아키텍처
- 프로토콜역할
- STOMP
- selenium
- 한화시스템부트캠프
- 프로세스와스레드의차이
- jwt토큰
- Java
- springboot
- kafka배포
- 오블완
- nplus1
- N+1문제
- 티스토리챌린지
- 자료구조
- Kafka
- 메소드
- QA
- 테스트케이스
- n8n
- XSS
- 스프링시큐리티
- 오버로딩
- 캐시의 작동 원리
- 자바
- 엘라스틱서치
- 하이브리드접근법
- JPA
- 부트캠프
- 자동화워크플로우
Archives
- Today
- Total
아쿠의 개발 일지
셀레니움(Selenium) 크롤링? 본문
과거 RPA 개발 직무에서 일을 하면서 Selenium을 활용해 본 적이 있다.
Selenium은 웹 자동화 도구이며, 이를 활용하여 웹 페이지의 데이터를 추출하거나 테스트를 자동화하는 작업을 말한다.
Selenium은 브라우저를 자동으로 제어할 수 있는 기능을 제공하며, 이를 통해 사용자가 브라우저에서 수행할 수 있는 대부분의 작업을 코드로 구현할 수 있다.
셀레니움(Selenium) 크롤링의 개념
- 웹 크롤링은 웹 사이트에 있는 데이터를 수집하는 작업이다.
- 단순히 HTML 데이터를 가져오는 일반적인 크롤링과는 달리, 동적 웹페이지나 JavaScript로 렌더링되는 콘텐츠도 제어하고 데이터를 수집할 수 있다는 장점이 있다.
셀레니움 크롤링의 주요 과정
- 웹 페이지 접속 :
- Selenium이 웹 브라우저를 열고, 특정 URL로 이동한다.
- Python에서 webdriver를 사용해, 크롬 같은 브라우저를 실행한다.
- HTML 요소 찾기 :
- 특정 데이터가 포함된 HTML 태그를 탐색한다.
- Selenium은 CSS, XPath 등을 사용하여 원하는 요소를 선택할 수 있다.
- 동작 수행 :
- 버튼 클릭, 입력값 전송, 드롭다운 선택 등 사용자가 브라우저에서 수행할 수 있는 동작을 자동으로 처리한다.
- 데이터 추출 :
- 원하는 텍스트, 이미지 URL 등을 가져온다.
- 반복 작업 :
- 페이지를 스크롤하거나, 다음 페이지로 이동하며 반복적으로 데이터를 수집한다.
Python에서의 크롤링 예제 코드
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
# 브라우저 드라이버 실행 (ChromeDriver 사용)
driver = webdriver.Chrome()
# 1. 웹 페이지로 이동
driver.get("https://example.com")
# 2. HTML 요소 찾기
search_box = driver.find_element(By.NAME, "q") # 검색창 찾기
search_box.send_keys("Selenium") # 검색어 입력
search_box.send_keys(Keys.RETURN) # Enter 키 입력
# 3. 검색 결과 가져오기
results = driver.find_elements(By.CSS_SELECTOR, "div.result")
for result in results:
print(result.text) # 결과 텍스트 출력
# 4. 브라우저 닫기
driver.quit()
Selenium이 QA와 관련된 이유
Selenium은 단순히 데이터를 수집하는 도구로만 쓰이지 않고, 웹 애플리케이션의 UI/UX 테스트 자동화에도 널리 사용된다.
예를 들어, 버튼 클릭이나 폼 제출 등 사용자의 동작을 자동화하여 기능 검증을 할 때도 사용된다.
이 때문에 Selenium을 사용하는 크롤링 경험은 테스트 자동화 경험으로 어필 가능하다.!
728x90
'Programming > QA' 카테고리의 다른 글
Selenium vs Cypress vs Playwright: 웹 테스트 자동화 도구 비교 (0) | 2025.03.04 |
---|---|
소프트웨어 테스트 기본 개념 (1) | 2024.12.10 |
QA(Quality Assurance)가 무엇일까? (0) | 2024.12.10 |