检索元素的文本内容时获取“未定义”

时间:2016-12-10 18:22:31

标签: javascript dom

我正在尝试从此元素中获取http://www.youtube.com上传的总视频数量,但我得到“未定义的类”。

<a class="qZpD9d" href="//youtube.com/channel/UC64oAui-2WN5vXC7hTKoLbg/videos?feature=hovercard" target="_parent">6357 videos</a>

我正在尝试通过用户脚本获取它。我的剧本是:

function UploadedVideos () {
    var VideosUploaded = document.createElement('a');
    var Container = document.querySelector('.yt-user-info');
    VideosUploaded.id = 'uploaded-videos';
    VideosUploaded.className = 'uploadedN';
    Container.appendChild(VideosUploaded);

    var Total = document.querySelector('.qZpD9d').textContent;
    VideosUploaded.textContent = Total;
}
setTimeout(UploadedVideos, 1000);

有关此元素的详细信息,您可以转到任何Youtube视频,打开开发人员工具,然后搜索qZpD9d

类别名称对于我来说对于我打开的每个视频都是一样的可能每个区域的类名都有所改变但是当鼠标悬停在频道名称上时你可以获得总视频上传数字它会弹出小窗口包含这个频道的总视频上载数量请参阅此图片https://i.imgsafe.org/c55f39c938.jpg

1 个答案:

答案 0 :(得分:0)

.qZpD9d元素存在于由函数生成的iframe中,该函数在将鼠标悬停在频道的名称后触发。它不存在于父页面上,因此无法通过.contentWindow访问该框架而无法访问该框架,但该框架是跨源的(apis.google.com)以便获胜&# 39;也可以。我建议查看一个查询YouTube API的AJAX解决方案,或者抓取上传者的频道页面。