셀레니움 요소 찾기 : find_element와 find_elements

2024. 1. 19. 16:53·파이썬/크롤링
반응형

셀레니움은 웹 브라우저를 제어하고 자동화하는 데 사용되는 오픈 소스 프레임워크입니다. 셀레니움4에서는 웹 페이지의 요소를 찾기 위해 find_element()와 find_elements() 메서드를 제공합니다.

 

find_element()

find_element() 메서드는 웹 페이지에서 지정한 조건과 일치하는 첫 번째 요소를 반환합니다.

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
import time

driver = webdriver.Chrome()

# 네이버 접속 및 페이지가 전부 로드 될 때 까지 3초간 대기
driver.get('https://www.naver.com/')
driver.implicitly_wait(3)

# 검색창을 찾아 "끄적끄적 코딩 공방" 입력 
search_bar = driver.find_element(By.ID, 'query')
search_bar.send_keys('끄적끄적 코딩 공방')

# 엔터키를 눌러 검색
search_bar.send_keys(Keys.ENTER)

# 3초간 멈춤
time.sleep(3)

위 코드에서는 find_element() 메서드를 사용하여 검색창 요소를 찾은 후, send_keys() 메서드로 "끄적끄적 코딩 공방"을 입력하고, 해당 요소에 엔터키를 입력해 검색 작업을 합니다.

 

find_elements()

find_elements() 메서드는 웹 페이지에서 지정한 조건과 일치하는 모든 요소를 반환합니다.

 

사진의 요소들을 찾아보겠습니다.

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
import time

driver = webdriver.Chrome()

# 네이버 접속 및 페이지가 전부 로드 될 때 까지 3초간 대기
driver.get('https://www.naver.com/')
driver.implicitly_wait(3)

# 요소들 검색
link_list = driver.find_elements(By.CLASS_NAME, 'link_service')

#요소를 순회하며 텍스트와 링크 출력
for link in link_list :
    href = link.get_attribute('href')
    print(f'{link.text} : {href}')

위 코드에서는 find_elements() 메서드를 사용하여 사진의 요소를 모두 찾은 후, text 속성으로 링크의 텍스트와 링크를 출력합니다.

 

실행결과

차이점

find_element()와 find_elements()는 모두 웹 페이지의 요소를 찾기 위한 메서드이지만, 다음과 같은 차이점이 있습니다.

특징 find_element() find_elements()
반환 값 첫 번째 요소 모든 요소
예외 발생 여부 요소가 발견되지 않을 경우 NoSuchElementException 예외 발생 요소가 발견되지 않을 경우 빈 리스트 반환

 

 

저작자표시 비영리 변경금지 (새창열림)

'파이썬 > 크롤링' 카테고리의 다른 글

셀레니움에서 이미지 비활성화 : 최적화  (0) 2024.01.29
셀레니움에서 페이지가 로딩이 될 때까지 기다리는 방법  (2) 2024.01.28
셀레니움의 키보드 : selenium.webdriver.common.keys  (1) 2024.01.24
웹 자동화의 핵심 : 셀레니움의 WebElement 란?  (0) 2024.01.23
셀레니움에서 스크롤하는 5가지 방법 - Selenium : Scroll  (0) 2024.01.14
'파이썬/크롤링' 카테고리의 다른 글
  • 셀레니움에서 페이지가 로딩이 될 때까지 기다리는 방법
  • 셀레니움의 키보드 : selenium.webdriver.common.keys
  • 웹 자동화의 핵심 : 셀레니움의 WebElement 란?
  • 셀레니움에서 스크롤하는 5가지 방법 - Selenium : Scroll
코샵
코샵
나의 코딩 일기장
    반응형
  • 코샵
    끄적끄적 코딩 공방
    코샵
    • 분류 전체보기 (644) N
      • 상품 추천 (150) N
      • MongoDB (4)
      • 하드웨어 (11) N
      • 일기장 (4)
      • Unity (138)
        • Tip (41)
        • Project (1)
        • Design Pattern (8)
        • Firebase (6)
        • Asset (2)
      • 파이썬 (12)
        • Basic (41)
        • OpenCV (8)
        • Pandas (15)
        • PyQT (3)
        • SBC(Single Board Computer) (1)
        • 크롤링 (14)
        • Fast API (29)
        • Package (6)
      • Linux (4)
      • C# (97)
        • Algorithm (11)
        • Window (7)
      • TypeScript (50)
        • CSS (10)
      • Git (11)
      • SQL (5)
      • Flutter (10)
        • Tip (1)
      • System (1)
      • BaekJoon (6)
      • Portfolio (2)
      • MacOS (1)
      • 유틸리티 (1)
      • 서비스 (6)
      • 자동화 (3)
      • Hobby (10)
        • 물생활 (10)
        • 식집사 (0)
  • 인기 글

  • 태그

    스크립트 실행
    ipcamera
    리스트
    유니티
    카페24리뷰이관
    리뷰관리
    codingtips
    devlife
    리뷰이관
    programmerlife
    스크립트 실행 순서
    cv2
    Python
    learntocode
    programming101
    C#
    스마트스토어리뷰
    codingcommunity
    셀레니움
    쇼핑몰리뷰
    파이썬
    상품 리뷰 크롤링
    긴유통기한우유
    라떼우유
    카페24리뷰
    rtsp
    믈레코비타멸균우유
    appdevelopment
    list
    unity
  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
코샵
셀레니움 요소 찾기 : find_element와 find_elements
상단으로

티스토리툴바