Я даже не знаю, прав ли мой вопрос, я не могу сказать, что это кнопка css, которая не позволяет моему коду работать. Я хочу загрузить все комментарии об этом news site.нажмите кнопку css или загрузите все комментарии
Как вы можете видеть, внизу страницы открываются самые 5 комментариев, а ниже - кнопка для загрузки дополнительных комментариев. Эта кнопка предназначена для автоматического нажатия, и я считаю, что это кнопка css.
Поскольку моя попытка щелчка не удалась, я попытался использовать альтернативное решение без успеха. Скрытые комментарии маркируются с:
class="off"
Когда я удалить этот класс на поджигатель, комментарий мгновенно появится на странице, но я не мог получить его выбрать или основан с JQuery, когда я tryied следующее:
$("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);
- На вкладке сценарного поджигатель вы можете увидеть это:
<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,
- Я считаю, что многие способы загрузить все комментарии, но я не смог найти решение. Не могли бы вы помочь мне?
ОР использует JQuery, поэтому вы должны дать решение JQuery. Исходное решение JS _in addition_ является полезным бонусом для тех, кто не использует jQuery – Bojangles
Спасибо за ваш ответ, но он не сработал. Я думаю, проблема в том, что комментарии AJAX и нуждаются в waitKeyForElements для работы, которые не активируются. В моем коде я использовал предупреждение, чтобы проверить это, и предупреждение никогда не появлялось.Поиск объекта в DOM был одной из проблем. – Comentarist
Да, комментарии загружаются с использованием AJAX и поэтому, когда вы делаете этот вызов, элементы отсутствуют на странице. Если у 'comentarios()' есть событие успеха, на которое можно было бы это назвать, вы будете бороться. – jammykam