본문 바로가기
Python/Selenium

Selenium find_elements로 다수의 요소 찾기

by PySun 2025. 1. 9.
반응형

Selenium find_elements: 웹 페이지에서 다수의 요소 찾기

웹 자동화는 현대 디지털 환경에서 중요한 기술로 자리잡았습니다. 그 중에서도 Selenium은 가장 많이 사용되는 도구 중 하나입니다. 오늘은 Selenium의 find_elements 메소드를 사용하여 웹 페이지에서 여러 요소를 찾는 방법을 알아보겠습니다.

find_elements 메소드 소개

find_elements 메소드는 지정된 선택자에 해당하는 모든 요소를 찾아 리스트 형태로 반환합니다. 이 메소드는 웹 페이지에서 여러 개의 동일한 요소를 수집하고 싶을 때 매우 유용합니다.

함수 시그니처

driver.find_elements(by, value)

매개변수:

  • by: 검색할 요소의 방법 (예: By.ID, By.CLASS_NAME 등).
  • value: 선택자에 해당하는 값입니다.

반환 값:

  • 지정된 선택자에 해당하는 요소들의 리스트를 반환합니다.

사용 예제

기본 예제

다음은 Selenium의 find_elements 메소드를 사용하여 웹 페이지에서 여러 요소를 찾는 기본 예제입니다. 이 예제는 구글 검색 결과 페이지에서 모든 링크를 수집합니다.

from selenium import webdriver
from selenium.webdriver.common.by import By

# 웹 드라이버 초기화
driver = webdriver.Chrome()

# 웹 페이지 열기
driver.get("https://www.google.com")

# 검색창에 "Selenium" 입력 후 검색
search_box = driver.find_element(By.NAME, "q")
search_box.send_keys("Selenium")
search_box.submit()

# 모든 링크 요소 찾기
links = driver.find_elements(By.TAG_NAME, "a")

# 찾은 링크 출력
for link in links:
    print(link.get_attribute('href'))

# 드라이버 종료
driver.quit()

다양한 요소 찾기 예제

다음은 뉴스 웹사이트의 모든 헤드라인을 찾는 예제입니다. 이 예제는 find_elements 메소드를 사용하여 특정 클래스에 해당하는 모든 요소를 가져옵니다.

# 웹 페이지 열기
driver.get("https://news.ycombinator.com/")

# 모든 헤드라인 요소 찾기
headlines = driver.find_elements(By.CLASS_NAME, "storylink")

# 찾은 헤드라인 출력
for headline in headlines:
    print(headline.text)

# 드라이버 종료
driver.quit()

결론

find_elements 메소드는 웹 페이지의 특정 요소를 효율적으로 수집할 수 있는 방식입니다. 이를 통해 유용한 정보를 수집하고, 웹 스크래핑 작업을 간편하게 수행할 수 있습니다.

  • 다양한 요소를 기민하게 찾아내는 find_elements로 웹을 탐험해 보세요!
  • 지금 바로 Selenium을 활용하여 원하는 정보를 손쉽게 수집해 보세요!
반응형