Post

파이썬으로 시작하는 셀레니움 - 04

파이썬으로 셀레니움을 사용할 수 있다.

파이썬으로 시작하는 셀레니움 - 04

[요소(Element) 찾기]


1
from selenium.webdriver.common.by import By

Selenium의 핵심 기능 중 하나는 웹 페이지의 요소(HTML 태그)를 찾아 제어하는 것이다.
이 장에서는 요소를 찾는 다양한 방법과, 찾은 요소에서 텍스트나 속성을 추출하는 방법을 배운다.


1. 요소 선택 방식


Selenium에서는 다양한 기준으로 웹 요소를 선택할 수 있다.

선택 방식사용 함수설명
idfind_element(By.ID, "id명")고유 ID로 선택
namefind_element(By.NAME, "name")name 속성으로 선택
class namefind_element(By.CLASS_NAME, "클래스명")class 속성으로 선택
tag namefind_element(By.TAG_NAME, "태그명")태그 이름으로 선택 (input, div 등)
css selectorfind_element(By.CSS_SELECTOR, "선택자")CSS 선택자로 정밀 선택 가능
xpathfind_element(By.XPATH, "경로")XPath 문법으로 위치 지정

예를 들어, id="login-btn"인 버튼을 클릭하고 싶다면 다음과 같이 사용할 수 있다.

1
2
element = driver.find_element(By.ID, "login-btn")
element.click()


2. find_element() vs find_elements()


메서드명반환값용도
find_element()단일 요소조건에 맞는 첫 번째 요소를 1개만 반환
find_elements()리스트조건에 맞는 모든 요소를 리스트로 반환

find_elements() 는 여러 개의 유사한 요소를 한 번에 다룰 때 유용하다.


3. 요소 정보 가져오기


찾은 요소에서 텍스트나 HTML 속성(attribute) 값을 추출할 수 있다.

크롤링이나 상태 확인, 조건문 분기 등에 매우 유용하다.


3.1. 요소 안의 텍스트 추출

요소.text는 HTML 요소 안에 들어 있는 사용자에게 보이는 텍스트를 가져온다.

1
element = driver.find_element(By.ID, "greeting")


3.2. 요소의 속성값(attribute) 추출

요소.get_attribute("속성명")을 사용하면 해당 요소의 속성값을 확인할 수 있다.
HTML에서 태그에 포함된 속성들(예: href, src, value, placeholder 등)을 추출하는 데 사용된다.

1
2
link = driver.find_element(By.TAG_NAME, "a")
print(link.get_attribute("href"))  # 링크 주소 출력
속성명의미
href링크 주소 (<a> 태그)
src이미지 경로 (<img>)
value입력 필드의 실제 값 (<input>)
placeholder입력창 안내 문구
class요소에 적용된 클래스 이름
id요소의 고유 ID
This post is licensed under CC BY 4.0 by the author.