파이썬(Python)
[ 크롤링-Selenium ] Python Selenium get_attribute() 셀레니움 요소값
카루루1007
2022. 11. 20. 15:11
728x90
반응형
요소값을 확인하기 위해서 get_attribute()를 사용할 수 있습니다.
다음포털의 메인화면에서
[ 게임 ] 부분을 살펴보면 [ a 태그 ]의 요소로
[ href ]가 있으며
해당 값은 [ https://game.daum.net ]입니다.
이 값을 확인하기 위해 get_attribute()를 사용할 수 있습니다.
i = driver.find_element(By.CLASS_NAME, "txt_pctop.link_game")
time.sleep(3)
print(i.get_attribute("href"))
먼저 [ 게임 ] 부분에 대한 내용을 [ i ]에 담고
i.get_attribute("href")를 print 하면
https://game.daum.net 가 출력됩니다.
728x90
반응형
하나의 태그 안에는
여러가지 요소가 있을 수 있습니다.
해당 부분의 요소는
[ href ] / [ class ] / [ target ] / [ data-tiara-layer ] / [ data-tiara-action-name ]가 있습니다.
하나씩 확인해보겠습니다.
print(i.get_attribute("href"))
print(i.get_attribute("class"))
print(i.get_attribute("target"))
print(i.get_attribute("data-tiara-layer"))
print(i.get_attribute("data-tiara-action-name"))
위 코드를 실행하면 아래와 같이 출력이 됩니다.
https://game.daum.net/
txt_pctop link_game
_self
header gnb game
header-gnb-game
만약 해당 요소가 없다면 [ None ]를 반환합니다.
print(i.get_attribute("aaa"))
위 코드를 실행했을 때 결과는 [ None ]입니다.
몇몇 사이트를 크롤링하기 위해 확인하다 보면
내가 필요한 사항이 중복되어 있는 경우가 있습니다.
하나의 내용이 두개로 분리되어 구성되어 있는 경우가 있는데
둘 중 하나를 선택하기 위해
요소를 확인하여 요소값이 특정한 경우만 분리해서
가지고 와야 중복된 내용을 가지고 오지 않을 수 있는 등
또는 URL을 추출해낼때 사용이 가능할 것입니다.
여기를 방문하시면 더 많은 파이썬 관련 자료를 확인할 수 있습니다.
728x90
반응형