파이썬 셀레니움으로 네이버 증권의 종목 검색하여 특정항목 클릭하기
크롬으로 네이버 증권 사이트를 열어보고
특정종목(문배철강)을 검색한 뒤 종목분석 메뉴를 클릭까지 해 보는 연습을 합니다.
크롤링할때마다 사용하는 파이썬 셀레니움 패키지 (python selenium)
그중 가장 많이 사용하는 함수인 find_elemnt_by_, find_elements_by_ 사용법에 대해서 간단히 정리하고자 한다.
find_element_by, find_elements_by 차이점은?
find_element_by와 find_elements_by은 동일한 동작을 하지만, 아래와 같은 차이가 있다.
- element 는 조건에 일치하는 가장 첫번째 요소를 반환
- elements는 조건에 일치하는 모든 요소를 list 형태로 반환
즉, 한개만 return하냐, 모든 요소를 return 하냐의 차이다.
보통 해당 페이지에 조건에 만족하는 element가 유일하다는게 보장된다면 find_element_by를,
list중에서 한번 더 필터링을 거쳐서 찾아야 하거나, 해당 list 모두가 필요할 경우에는 find_elements_by를 사용한다.
파이썬 셀레니움에서 지원하는 find_element_by, find_elements_by
selenium의 webdriver에서 지원하는 find_elements_by_ 는 아래와 같다.
각 함수의 사용방법에 대해서 알아보자 (동작원리는 동일하기 때문에 편의상 find_elements_by 만 설명한다)
- find_elements_by_tag_name
- find_elements_by_xpath
- find_elements_by_id
- find_elements_by_class_name
- find_elements_by_link_text
- find_elements_by_partial_link_text
- find_elements_by_css_selector