파이썬(Python)

[ 크롤링-Selenium ] Python Selenium get_attribute() 셀레니움 요소값

카루루1007 2022. 11. 20. 15:11
728x90
반응형
SMALL

요소값을 확인하기 위해서 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 가 출력됩니다.

 

반응형

하나의 태그 안에는

여러가지 요소가 있을 수 있습니다.

해당 부분의 요소는

[ 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
반응형
LIST