2016-12-24 5 views
0

firefox 브라우저에서 javascript 콘솔을 사용하여 spotify (내가 팔로우 한 아티스트 목록)에서 목록에서 텍스트 데이터를 추출하려고합니다. 나는 클래스 '제목'과 요소의 모든 아티스트 이름을 추출하기 위해이 코드를 사용하고 있습니다 :자바 스크립트를 사용하여 웹 사이트에서 데이터 추출 (확인)

artists = document.getElementsByClassName('title') 

불행하게도, 파이어 폭스에서 나는 단지 아티스트와는 아무 상관이없는 것으로 4 개 임의 요소를 얻을. 그러나 크롬에서는 작동하며 모든 아티스트 이름이 포함 된 목록을 출력합니다. 먼저 inspector 함수를 사용하여 하나의 요소를 선택한 후에 만 ​​입니다.

불행하게도 Chrome은 spotify 웹 페이지를로드하지 않아 목록이 불완전합니다. 어떻게하면 Firefox 자바 스크립트 콘솔을 사용하여이 작업을 할 수 있습니까?

아마 Spotify 웹 페이지와 관련이 있습니다. 내 계정에 로그인 한 후에 만 ​​볼 수 있습니다. 미리 감사드립니다.

+0

선택기 특이성 문제가 있다고 가정합니다. URL을 제공 할 수 있습니까? 아니면이 단계를 수행하려고 시도하는 화면으로 이동할 수 있습니까? – Ivan

+0

https://play.spotify.com/user로 이동 한 다음 로그인하고 '내 계정'으로 이동 한 후 '다음'을 클릭하십시오. 내가 따라하는 모든 아티스트의 목록을 보여줍니다. 그런 다음 목록이 더 많이로드되도록 아래로 스크롤합니다. 전체 목록이로드 될 때까지 계속 스크롤합니다 (1500 명이 넘는 아티스트) – janj

+0

Chrome에서는 목록로드가 중간에 멈 춥니 다. 코드를 실행하면 약 900 명의 아티스트 이름이 표시됩니다. Firefox에서는 코드가 전혀 작동하지 않습니다 (4 개의 관련없는 결과 제외). – janj

답변

0

이 작품은 마음에 드시겠습니까?

var all = document.querySelectorAll('.following .title'); 
all.forEach(function(item) { console.log(item.innerHTML) }) 

콘솔에서 실행할 때 다음과 같은 메시지가 표시됩니다. 물론 각 텍스트 항목을 새 배열에 추가하고 그 내용을 무엇이든 할 수 있습니다.

Followed artists in Spotify web player console

+0

조금 더 가깝게 보아, 그 내용은 iframe에 존재하므로 올바른 프레임에서 코드를 실행하고 있는지 확인해야합니다. 또한 forEach에 대한 브라우저 지원은 거의 없습니다. 구식 루프, 브라우저 버전에 따라 해당 부분을 다시 작성해야 할 수도 있습니다. – Ivan

+1

감사합니다. 이 코드는 훌륭하게 작동합니다. 실제로 파이어 폭스에서 iframe이 문제가되었습니다. 다시 한 번 감사드립니다. – janj