2016-12-24 14 views
0

Я пытаюсь извлечь текстовые данные из списка на spotify (список художников, которых я придерживаюсь), используя консоль javascript в браузере Firefox. Я использую этот код, чтобы извлечь все имена исполнителей из элементов с «заголовком» класса:извлечение данных с веб-сайта (spotify) с помощью javascript

artists = document.getElementsByClassName('title') 

К сожалению, в Firefox я получаю только 4 случайные элементы, не имеющие ничего общего с художниками. Однако в Chrome это работает, я получу список со всеми именами исполнителей в качестве вывода. Но только после того, как я выбрал один элемент, используя функцию инспектора.

К сожалению, Chrome не правильно загружает веб-страницу с точками, чтобы список был неполным. Как я могу сделать эту работу с помощью javascript-консоли Firefox?

Возможно, это как-то связано с веб-страницей Spotify, видно только после входа в мою учетную запись. Спасибо заранее.

+0

Я предполагаю, что вы имеете проблему селектора специфичностью. Можете ли вы предоставить URL-адрес или шаги, чтобы попасть на экран, на который вы пытаетесь сделать это? – Ivan

+0

Я перехожу к https://play.spotify.com/user, затем я вхожу в систему и перехожу к «моей учетной записи» и нажимаю «follow»; который показывает список всего исполнителя, которого я придерживаюсь. Затем я прокручиваю вниз, что приводит к загрузке большего количества списка. Я продолжаю прокручивать до тех пор, пока не будет загружен полный список (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 была проблемой в firefox. еще раз спасибо – janj