2016-12-24 19 views
0

我试图从firefox浏览器中使用javascript控制台在spotify(我遵循的艺术家列表)中的列表中提取文本数据。我使用这个代码抽取与类“标题”元素的所有艺术家姓名:使用JavaScript从网站(spotify)提取数据

artists = document.getElementsByClassName('title') 

不幸的是,在Firefox我只得到4个随机元素无关与艺术家。然而,在Chrome浏览器中,我会列出所有艺术家名称作为输出。 但是,在我首先使用检查器功能选择了一个元素之后,只有

不幸Chrome浏览器无法正确加载Spotify网页,因此列表不完整。我怎样才能使用Firefox的JavaScript控制台这项工作?

也许这与Spotify网页有关,只有在登录到我的帐户后才能看到。 在此先感谢。

+0

我会假设你有一个选择特异性问题。你可以提供一个网址,或步骤到达你想要做的这个屏幕? – 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

谢谢。这段代码很好用。确实iframes是在Firefox中的问题。再次感谢 – janj