셀레니움 요소 찾기 : 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 란?  (1) 2024.01.23
셀레니움에서 스크롤하는 5가지 방법 - Selenium : Scroll  (1) 2024.01.14
'파이썬/크롤링' 카테고리의 다른 글
  • 셀레니움에서 페이지가 로딩이 될 때까지 기다리는 방법
  • 셀레니움의 키보드 : selenium.webdriver.common.keys
  • 웹 자동화의 핵심 : 셀레니움의 WebElement 란?
  • 셀레니움에서 스크롤하는 5가지 방법 - Selenium : Scroll
코샵
코샵
나의 코딩 일기장
    반응형
  • 코샵
    끄적끄적 코딩 공방
    코샵
    • 분류 전체보기 (727)
      • 스마트팜 (1)
      • 상품 추천 (223)
      • DataBase (0)
        • MongoDB (4)
        • PostgreSQL (0)
      • 하드웨어 (18)
      • 일기장 (4)
      • 파이썬 (130)
        • Basic (41)
        • OpenCV (8)
        • Pandas (15)
        • PyQT (3)
        • SBC(Single Board Computer) (1)
        • 크롤링 (14)
        • Fast API (29)
        • Package (6)
      • Unity (138)
        • Tip (41)
        • Project (1)
        • Design Pattern (8)
        • Firebase (6)
        • Asset (2)
      • Linux (4)
      • C# (97)
        • Algorithm (11)
        • Window (7)
      • TypeScript (51)
        • 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
    스마트스토어리뷰
    codingtips
    라떼우유
    리뷰관리
    스크립트 실행 순서
    긴유통기한우유
    programmerlife
    쇼핑몰리뷰
    unity
    카페24리뷰이관
    list
    스크립트 실행
    codingcommunity
    리뷰이관
    cv2
    셀레니움
    programming101
    상품 리뷰 크롤링
    리스트
    appdevelopment
    유니티
    learntocode
    파이썬
    믈레코비타멸균우유
    devlife
    Python
    rtsp
    C#
    카페24리뷰
  • 최근 글

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

티스토리툴바