셀레니움을 사용하기 위해서 원하는 요소를 선택하는 방법을 알아야 합니다. 이전 버전에는 tag, css, xpath에 따라 각각 해당하는 함수가 있었습니다. 셀레늄 버전이 올라가면서 함수들이 find_element, find_elements로 통일됐습니다. 대신 입력 파라미터로 어떤 방법을 기준으로 할지 입력해야 합니다.
개인적으로는 이전 방법이 더 편리했는데 아쉽습니다. 그래도 변화하는 방법에 적응할 필요가 있습니다. 오늘은 파이썬 셀레니움 사용법, 특정 요소를 선택하는 방법에 대해서 알아보겠습니다.
find_element는 해당하는 첫 번째 요소를, find_elements는 해당하는 모든 요소를 가지고 오는 것이 차이점입니다. 함수의 입력 파라미터로 찾고자 하는 기준, 그리고 찾고자 하는 값을 입력하면 됩니다.
예를 들어 p태그 요소를 모두 찾고 싶다고 하면 아래와 같이 입력합니다.
from selenium.webdriver.common.by import By
tags = driver.find_elements(By.TAG_NAME, 'p')
찾고자 하는 기준은 By모듈을 이용해서 넣어줍니다. 아래와 같이 총 7개의 기준을 입력할 수 있습니다.
기준 | 설명 |
By.TAG_NAME | 태그를 이용해서 선택 |
By.CSS_SELECTOR | CSS선택자를 이용해서 선택 |
By.LINK_TEXT | 링크 텍스트를 이용해서 선택 |
By.CLASS_NAME | 클래스 선택자 이름을 이용 |
By.ID | 아이디 선택자 이름 |
By.NAME | name속성 이용 |
By.PARTIAL_LINK_TEXT | 링크 텍스트 일부만 일치 |
By.XPATH | XPATH를 이용 |
이 중에서 CSS_SELECTOR를 알아두면 편리합니다. 태그를 이용해서 여러 개의 클래스 선택자, 아이디 선택자를 입력할 수 있기 때문입니다. 작성할 때는 [태그명]. [클래스 선택자]#[아이디 선택자]와 같이 입력하면 됩니다. 예를 들면 아래와 같습니다.
find_elements(By.CSS_SELECTOR, 'div.big_text.blue_text#red_text')
XPATH도 알아두면 편리하다. XPATH는 태그로 이루어진 언어에서 그 경로를 지정하는 방법이다. XPATH를 이용하면 원하는 위치를 쉽게 찾고 선택할 수 있는 방법이 있습니다.
참고로 위의 코드를 사용하기 위해서는 아래와 같이 셀레니움을 이용해 웹브라우저를 실행하고, 원하는 주소로 이동해야 합니다.
from selenium import webdriver
driver = webdriver.Chrome('./chromedriver')
driver.get('url주소')
Recommendation 포스팅
'파이썬 > 파이썬 기초' 카테고리의 다른 글
html 표(table태그) 판다스 데이터프레임으로 쉽게 바꾸는 방법은?! (0) | 2022.03.08 |
---|---|
파이썬 실행파일 만드는 2가지 방법은?! (0) | 2022.03.07 |
맥에서 배치파일(bat) 만드는 방법은?! 파이썬 실행파일 만들기! (2) | 2022.03.04 |
XPATH란? 셀레니움(Sellenium) XPath로 쉽게 요소 선택하기! (0) | 2022.02.21 |
파이썬 웹크롤링을 위한 HTML, CSS, JAVASCRIPT 알아보기! (0) | 2022.02.17 |
파이썬 가상환경 쓰는 이유와 사용하는 방법은?! (0) | 2022.02.14 |
파이썬 반복문(for문, while문) 사용법 - zip, enumerate 함수까지! (0) | 2022.02.13 |
파이썬 반복문, for문 문법과 활용 팁 알아보기 (0) | 2022.02.12 |