파이썬으로 시작하는 셀레니움 - 04
파이썬으로 셀레니움을 사용할 수 있다.
파이썬으로 시작하는 셀레니움 - 04
[요소(Element) 찾기]
1
from selenium.webdriver.common.by import By
Selenium의 핵심 기능 중 하나는 웹 페이지의 요소(HTML 태그)를 찾아 제어하는 것이다.
이 장에서는 요소를 찾는 다양한 방법과, 찾은 요소에서 텍스트나 속성을 추출하는 방법을 배운다.
1. 요소 선택 방식
Selenium에서는 다양한 기준으로 웹 요소를 선택할 수 있다.
선택 방식 | 사용 함수 | 설명 |
---|---|---|
id | find_element(By.ID, "id명") | 고유 ID로 선택 |
name | find_element(By.NAME, "name") | name 속성으로 선택 |
class name | find_element(By.CLASS_NAME, "클래스명") | class 속성으로 선택 |
tag name | find_element(By.TAG_NAME, "태그명") | 태그 이름으로 선택 (input , div 등) |
css selector | find_element(By.CSS_SELECTOR, "선택자") | CSS 선택자로 정밀 선택 가능 |
xpath | find_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.