크롤링을 하다보면 내가 원하는 정보가 svg태그 안에 있는데, svg태그가 검색이 안되는 경우가 있습니다.
아래 태그는 인스타그램에 포함되어있는 좋아요 버튼을 나타내는 svg태그입니다.
![[크롤링 기초] svg 태그 찾기 (with xpath 셀레니움) [크롤링 기초] svg 태그 찾기 (with xpath 셀레니움)](https://blog.kakaocdn.net/dn/enOqv6/btrzNBdUqh2/3xVW1jmGZMaIKpGB9My5Nk/img.png)
분명 존재하죠?
하지만 검색하면 나오지가 않습니다. 왜그럴까요?
![[크롤링 기초] svg 태그 찾기 (with xpath 셀레니움) [크롤링 기초] svg 태그 찾기 (with xpath 셀레니움)](https://blog.kakaocdn.net/dn/k9DuT/btrzKa27UVU/nSK3JgGU8QTXq59yjvcLO0/img.png)
왜냐하면 다른 태그와 달리 svg태그를 찾는 방법이 다르기 때문입니다.
//*[local-name()='svg']
svg태그는 //*[local-name()='svg'] 로 검색을 하셔야 합니다. 정말 되는지 볼까요?
output :
![[크롤링 기초] svg 태그 찾기 (with xpath 셀레니움) - undefined - //*[local-name()='svg'] [크롤링 기초] svg 태그 찾기 (with xpath 셀레니움) - undefined - //*[local-name()='svg']](https://blog.kakaocdn.net/dn/3UYoe/btrzMwQ4C6Q/FSCgn2bx8Rg7aET7oPyAaK/img.png)
아주 많은 태그가 검색된걸 알 수 있습니다.
이중에서 svg태그 안에있는 aria-label속성값이 "좋아요"인 태그를 뽑고 싶다면 어떻게할까요?
(//*[local-name()='svg' and @aria-label="좋아요"]/../..)[1]
svg 속성값 기준으로 찾기
//*[local-name()='svg' and @aria-label="좋아요"]
이때는 and 를 이용해 @표시와 함께 원하는 속성명을 적어주면됩니다.
output :
![[크롤링 기초] svg 태그 찾기 (with xpath 셀레니움) - undefined - svg 속성값 기준으로 찾기 [크롤링 기초] svg 태그 찾기 (with xpath 셀레니움) - undefined - svg 속성값 기준으로 찾기](https://blog.kakaocdn.net/dn/cERK4O/btrzJ3WF5tn/nY49QfYoppNWcvS5yuQDgk/img.png)
이제 2개가 남았네요.
이 중 여러분이 태그위치를 확인 후 원하는 최종 태그를 골라주시면 됩니다.
저는 첫번째 태그가 원하는 태그라고 가정해본다면,
(//*[local-name()='svg' and @aria-label="좋아요"])[1]
전체 태그를 () 괄호로 씌어주고 인덱싱을 통해 첫번째 태그를 추출해보았습니다.
output :
![[크롤링 기초] svg 태그 찾기 (with xpath 셀레니움) - undefined - svg 속성값 기준으로 찾기 [크롤링 기초] svg 태그 찾기 (with xpath 셀레니움) - undefined - svg 속성값 기준으로 찾기](https://blog.kakaocdn.net/dn/bsy7Il/btrzKsvJqDp/kneuZ62ZadMUw3xcWrmTkk/img.png)
이 글과 읽으면 좋은글
'파이썬 > 크롤링' 카테고리의 다른 글
[셀레니움] 구글 로그인 성공하기(with undetected-chromedriver) (0) | 2023.02.06 |
---|---|
[파이썬 셀레니움 기초] 팝업창 닫는 방법 (0) | 2022.09.22 |
[셀레니움 기초] 네이버 쇼핑 크롤링 중 차단?(headless 사용시 주의사항) (0) | 2022.04.07 |
[셀레니움 기초] StaleElementReferenceException 오류 해결 (0) | 2022.04.07 |
[selenium 기초] 셀레니움 ~ is not clickable at point ~ 오류 해결 방법 (0) | 2022.04.06 |
댓글
꼬예님의
글이 좋았다면 응원을 보내주세요!
이 글이 도움이 됐다면, 응원 댓글을 써보세요. 블로거에게 지급되는 응원금은 새로운 창작의 큰 힘이 됩니다.
응원 댓글은 만 14세 이상 카카오계정 이용자라면 누구나 편하게 작성, 결제할 수 있습니다.
글 본문, 댓글 목록 등을 통해 응원한 팬과 응원 댓글, 응원금을 강조해 보여줍니다.
응원금은 앱에서는 인앱결제, 웹에서는 카카오페이 및 신용카드로 결제할 수 있습니다.