무효 클릭 IP 추적 중...
파이썬/크롤링

[크롤링 기초] svg 태그 찾기 (with xpath 셀레니움)

꼬예 2022. 4. 19.
[크롤링 기초] svg 태그 찾기 (with xpath 셀레니움)

크롤링을 하다보면 내가 원하는 정보가 svg태그 안에 있는데, svg태그가 검색이 안되는 경우가 있습니다. 

 

아래 태그는 인스타그램에 포함되어있는 좋아요 버튼을 나타내는 svg태그입니다.

[크롤링 기초] svg 태그 찾기 (with xpath 셀레니움)

분명 존재하죠?

 

하지만 검색하면 나오지가 않습니다. 왜그럴까요?

[크롤링 기초] svg 태그 찾기 (with xpath 셀레니움)

 

왜냐하면 다른 태그와 달리 svg태그를 찾는 방법이 다르기 때문입니다. 

 

 

 

 

//*[local-name()='svg']

svg태그는 //*[local-name()='svg'] 로 검색을 하셔야 합니다. 정말 되는지 볼까요?

 

output :

[크롤링 기초] svg 태그 찾기 (with xpath 셀레니움) - undefined - //*[local-name()='svg']

 

아주 많은 태그가 검색된걸 알 수 있습니다. 

 

이중에서 svg태그 안에있는 aria-label속성값이 "좋아요"인 태그를 뽑고 싶다면 어떻게할까요?

 

(//*[local-name()='svg' and @aria-label="좋아요"]/../..)[1]

 

 

 

svg 속성값 기준으로 찾기

//*[local-name()='svg' and @aria-label="좋아요"]

 

이때는 and 를 이용해 @표시와 함께 원하는 속성명을 적어주면됩니다.

output :

[크롤링 기초] svg 태그 찾기 (with xpath 셀레니움) - undefined - svg 속성값 기준으로 찾기

 

이제 2개가 남았네요.

이 중 여러분이 태그위치를 확인 후 원하는 최종 태그를 골라주시면 됩니다. 

 

저는 첫번째 태그가 원하는 태그라고 가정해본다면,

(//*[local-name()='svg' and @aria-label="좋아요"])[1]

전체 태그를 () 괄호로 씌어주고 인덱싱을 통해 첫번째 태그를 추출해보았습니다.

output :

[크롤링 기초] svg 태그 찾기 (with xpath 셀레니움) - undefined - svg 속성값 기준으로 찾기

 

 

이 글과 읽으면 좋은글

  • 트위터 공유하기
  • 페이스북 공유하기
  • 카카오톡 공유하기
이 컨텐츠가 마음에 드셨다면 커피 한잔(후원) ☕

댓글

꼬예님의
글이 좋았다면 응원을 보내주세요!