find element 사용하기- naver

네이버메인에 find element/elements 사용하기

파이썬 셀레늄에서 find element는 많은 메소드 기능을 제공하여,
다양한 방식으로 웹페이지의 요소(element)를 찾을 수 있는 방법중 하나입니다.

find element 메소드만 잘 파악하고 있으면,
큰 어려움이 없이 셀레늄을 통해 자동화 기능을 만드실 수 있습니다.

단일 element 복수 elements 설명
find_element_by_id 태그의 id값으로 추출
find_element_by_name find_elements_by_name 태그의 name값으로 추출
find_element_by_xpath find_elements_by_xpath 태그의 경로로 추출
find_element_by_link_text find_elements_by_link_text a태그 텍스트값으로 추출
find_element_by_partial_link_text find_elements_by_partial_link_text a태그의 자식 텍스트 값을 추출
find_element_by_tag_name find_elements_by_tag_name 태그 이름으로 추출
find_element_by_class_name find_elements_by_class_name 태그의 클래스명으로 추출
find_element_by_css_selector find_elements_by_css_selector css선택자로 추출



■find_element_by_id

1
driver.find_element_by_id('account').click()

※ click() 함수를 사용하게 되면 엘리먼트를 클릭하게 됩니다. (여기서는 로그인 페이지로 이동합니다.)




■find_elements_by_name

1
driver.find_elements_by_name('where').text

※ text는 추출된 엘리먼트의 텍스트를 출력합니다.



■find_element_by_xpath

1
driver.find_element_by_xpath('//*[@id="NM_FAVORITE"]/div[1]/ul[1]/li[3]/a').text




■find_element_by_link_text

1
driver.find_element_by_link_text('카페').text




■find_element_by_partial_link_text

1
driver.find_element_by_partial_link_text('블로그').text




■find_element_by_tag_name

1
driver.find_element_by_tag_name('form').text




■find_element_by_class_name

1
driver.find_element_by_class_name('blind').text




■find_element_by_css_selector

1
driver.find_element_by_css_selector('#account > a > i > span.blind').text





■find_elements... 복수개 엘리먼트

1
2
3
4
5
blind_list = driver.find_elements_by_class_name('blind')
for idx, v in enumerate(blind_list):
    print(v.text)
    if idx==3:
        break

위 그림을 보시면 blind로 59개의 항목이 찾아집니다.
find_element는 첫번째만 가져옵니다.
find_elements 는 조건에 맞는 blind 전체가 blind_list(iterable)에 담겨 있습니다.
반복문을 이용하여 출력해보았습니다.


TAG: #selenium #셀레늄 #naver #find_element #find_elements