0

我什至不知道我的问题是否正确,我的意思是,我不能说它是否是一个不允许我的代码工作的 CSS 按钮。我想加载这个新闻网站的所有评论。

如您所见,在页面底部,打开了最近的 5 条评论,在它们下方有一个用于加载更多评论的按钮。这个按钮是我打算自动点击的,我相信它是一个 CSS 按钮。

当我尝试单击失败时,我尝试了另一种解决方案但没有成功。隐藏的评论标有:

class="off"

类=关闭

当我在萤火虫上删除这个类时,评论立即出现在页面上,但是当我尝试以下操作时,我无法使用 jQuery 选择或创建它:

$("li").removeClass("off");

- 这是我的失败代码,它似乎从未找到等待的元素:

// ==UserScript==
// @name        globo coments
// @description globo coments
// @include     http://*.globo.com/*.html
// @require     http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js
// @require     https://gist.github.com/raw/2625891/waitForKeyElements.js
// @version     1
// @grant       GM_addStyle
// ==/UserScript==

function maisComents(jNode) {
        alert('???');
}

waitForKeyElements ("#glb-materia .widget widget-comentarios #boxComentarios .glbComentarios-lista glbComentarios-lista-recentes button .glbComentarios-botao-mais", maisComents);

- 在 firebug 的脚本选项卡中,您可以看到:

<div id='boxComentarios'></div>
    <script type="text/javascript">
        glb.runner.push('comentarios', function(global, $) {
        var articleUrl = 'http://ego.globo.com/biquini/noticia/2013/11/marina-elali-exibe-boa-forma-de-biquini.html',
        slug = articleUrl.split('/').pop().split('.').shift(),
        hash = global.sha1(slug);
        $('#boxComentarios').comentarios({
           'uri': '/jornalismo/ego/biquini',
           'url': articleUrl,
           'titulo': slug,
           'idExterno': hash,
           'exibeTeaserComentarios': true,
           'qtdComentariosNoTeaser': 5,                 
           'botaoComentario': {'topo': '.listar-comentarios-topo'}
    });
});
</script>
</div> 

在这一行中,设置了评论的数量

'qtdComentariosNoTeaser': 5,    

- 我相信有很多方法可以加载所有评论,但我找不到任何解决方案。你能请任何人帮助我吗?

4

2 回答 2

0

您可以获取与按钮的类名匹配的所有元素并存储在数组中。然后你可以直接引用数组中的索引并点击。这可能不是最好的方法,但它确实单击了按钮。希望能帮助到你。

Javascript 单击加载更多评论按钮:

var arrEle = document.getElementsByClassName('glbComentarios-botao-mais');
arrEle[0].click();

根据要求的jQuery解决方案:

$(".glbComentarios-botao-mais").click();
于 2013-11-21T18:41:32.757 回答
0

您将无法通过单击按钮来实现您所需要的。有“一些”隐藏的评论,点击按钮一次确实会显示最初的隐藏评论,但添加点击会进行 AJAX 调用以加载更多评论,调用:

http://commentarios.globo.com/commentarios/%40%40jornalismo%40%40ego%40%40biquini/bb7ac85e446f9d568d9047886db0f0665b1753a1/http%3A%40%40%40%40ego.globo.com%40%40biquini%40%40noticia %40%402013%40%4011%40%40marina-elali-exibe-boa-forma-de-biquini.html/shorturl/marina-elali-exibe-boa-forma-de-biquini/2.json

3.json、4.json等

您是否尝试删除该行'qtdComentariosNoTeaser': 5,或将其设置为一个非常高的数字,例如 9999

于 2013-11-21T19:03:20.190 回答