이제 셀레니움을 본격적으로 다루어보려고 합니다!
저 또한 처음 사용하는 내용이나 마찬가지이므로, 잘못된 부분이 있으면 댓글 부탁드려요!
By?
By는 셀레니움에서 웹 특정 요소를 찾기 위해 사용하는 방법을 지정하는 데 사용되는 모듈입니다!
from selenium.webdriver.common.by import By
By에는 다양한 속성이 존재하는데 이에 대해 설명해보겠습니다!!
- By.ID : 요소의 id 속성으로 탐색
- element = driver.find_element(By.ID, 'element_id')
- By.NAME : 요소의 name 속성으로 탐색
- element = driver.find_element(By.NAME, 'element_name')
- By.XPATH : 요소의 XPATH 표현식을 통해 탐색
- element = driver.find_element(By.XPATH, '//tag[@attribute="value"]')
- By.LINK_TEXT : 특정 텍스트를 가진 링크 요소 탐색
- element = driver.find_element(By.LINK_TEXT, 'Click Here')
- By.PARTIAL_LINK_TEXT : 링크 텍스트의 일부와 일치하는 언어 탐색 (sql의 like!)
- element = driver.find_element(By.PARTIAL_LINK_TEXT, 'Click')
- By.TAG_NAME : 특정 태그를 가진 요소 탐색
- element = driver.find_element(By.TAG_NAME, 'input')
- By.CLASS_NAME : 특정 클래스 이름을 가진 요소 탐색
- element = driver.find_element(By.CLASS_NAME, 'class_name')
- By.CSS_SELECTOR : CSS 선택자를 통한 요소 탐색
- element = driver.find_element(By.CSS_SELECTOR, '.class_name > input')
find_element(s)?
셀레니움에서 웹 페이지의 특정 요소를 찾기 위해 사용하는 메소드!
- find_element : 단일 값 반환 -> 요소 하나 찾기!
- find_elements : 다중 값 반환 -> 요소 여러개 찾기!!
element = driver.find_element(by=By.<method>, value=<selector>)
- driver : Selenium의 웹 드라이버 인스턴스!
- by : 요소를 찾기 위해 사용할 방법! -> 앞서 설명한 by의 속성이 들어갑니다!
- value : 선택자. 즉 검색할 값이 들어값니다!
TMI
다양한 프레임워크, 라이브러리를 import 해주어야 하기 때문에 어떤 모듈을 입력해야하는지 굉장히 헷갈리네요..
그래도 직접 해보신다면, 추출하고자 하는 값이 올바르게 나왔을 때!
굉장히 뿌듯하답니다!!
'크롤링, 스크래핑, 시각화 > Selenium' 카테고리의 다른 글
[Selenium] 셀레니움 다뤄보기 - 3 (마우스, 키보드 이벤트) (0) | 2024.10.04 |
---|---|
[Selenium] 셀레니움 다뤄보기 - 2 (wait, XPATH) (0) | 2024.10.04 |
[Selenium] 셀레니움 설치 방법 (0) | 2024.10.04 |