【问题标题】:Selector path for YouTube comments returning nullYouTube 评论的选择器路径返回 null
【发布时间】:2014-01-30 18:58:41
【问题描述】:

使用 CasperJS,我想检索 YouTube 视频中有多少 cmets。

var casper = require('casper').create();

casper.start('https://youtube.com/watch?v=I1HpEzxYHxE', function() {

    this.echo(this.getTitle()); // test to see if page loaded correctly

    var comments = this.evaluate(function() {   
        return document.querySelector('div.DJa').innerText;
    });

    this.echo(comments);
});

casper.run();

输出是:

Android Eclipse Tutorial #1 - Building an App From Scratch - YouTube
null

这是该 YouTube 视频源 HTML 的屏幕截图:

我正在寻找选择器div.DJainnerText

这是该选择器的属性列表的屏幕截图:

该列表显示innerText 属性包含值"ALL COMMENTS (49)",因此这是我的预期输出,而不是null

谁能解释为什么输出是null 和/或如何获得我的预期输出?

【问题讨论】:

    标签: javascript jquery-selectors css-selectors casperjs


    【解决方案1】:

    你可以试试下面的代码:

    casper.then(function(){
         onapp_name = this.evaluate(function() {
             return __utils__.findOne('#LXCType_name').getAttribute('value');
         });
    });
    

    并且回显onapp_name变量...

    Documentation

    【讨论】:

    • 是的,我在回答后花了 1 个小时来解决这个问题。上面的代码不起作用。但我认为问题出在 iframe 标签上(你的 div 在这个 iframe 中)。看到这个question
    • 如果您可以使用您建议的链接来创建有效的答案,我会给您+25。我现在没有时间研究这个。
    猜你喜欢
    • 1970-01-01
    • 2015-07-10
    • 1970-01-01
    • 2016-11-19
    • 2013-02-20
    • 1970-01-01
    • 2021-12-25
    • 1970-01-01
    • 2018-09-03
    相关资源
    最近更新 更多