컴퓨터-하는-모습
컴퓨터

셀레니움을 사용하기 위해서 원하는 요소를 선택하는 방법을 알아야 합니다. 이전 버전에는 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 포스팅

 

  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기