2013-11-21 3 views
0

제 질문이 맞는지조차 모르겠지만 제 코드가 작동하지 않는 CSS 버튼인지는 알 수 없습니다. 이 news site의 모든 의견을로드하고 싶습니다.CSS 버튼을 누르거나 모든 설명을로드하십시오.

보시다시피, 페이지 맨 아래에 가장 최근 5 개의 댓글이 열리고 그 아래에 더 많은 댓글을로드하는 버튼이 있습니다. 이 버튼은 자동 클릭을 의도 한 것이며 CSS 버튼이라고 생각합니다.

클릭 시도가 실패 했으므로 대체 솔루션을 시도한 결과 성공하지 못했습니다. 나는 방화범에이 클래스를 제거

class="off" 

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,  

- 나는 많은이 생각 방법을 모든 의견을로드 할 수 있지만 모든 솔루션을 찾을 수 없습니다. 아무도 도와 줄 수 없습니까?

답변

0

버튼의 클래스 이름과 일치하는 모든 요소를 ​​가져 와서 배열에 저장할 수 있습니다. 그런 다음 배열의 색인을 직접 참조하고 클릭 할 수 있습니다. 이것은 가장 좋은 방법은 아니지만 버튼을 클릭하면됩니다. 희망이 도움이됩니다. 요청에 따라

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

jQuery를 솔루션 :

자바 스크립트는 부하 더 의견 버튼을 클릭합니다 당신은 버튼을 클릭하여 필요한 달성 할 수있을하지 않을

$(".glbComentarios-botao-mais").click(); 
+0

처럼 정말 높은 숫자로 설정하려고했다. 네이티브 JS 솔루션 _ 추가 _은 jQuery를 사용하지 않는 사람들에게 유용한 보너스입니다 – Bojangles

+0

답장을 보내 주셔서 감사합니다. 그러나 작동하지 않았습니다. 문제는 코멘트가 AJAX이고, 작동하지 않는 waitKeyForElements가 필요하다는 것입니다. 제 코드에서는 경고를 사용하여이를 확인하고 경고가 결코 나오지 않았습니다.DOM에서 객체를 찾는 것이 문제 중 하나였습니다. – Comentarist

+0

예, AJAX를 사용하여 주석이 처음로드되므로이 호출을하면 요소가 페이지에 없습니다. 'comentarios()'가 이것을 호출하는 성공 이벤트가 없다면, 여러분은 고투 할 것입니다. – jammykam

0

. 이 "일부"숨겨진 의견이 있고, 버튼을 한 번 클릭하면 초기 숨겨진 의견을 공개 않지만, 추가 클릭 더 많은 의견을로드 할 AJAX 호출을에 호출

http://comentarios.globo.com/comentarios/%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 등

은 그러므로 당신이 jQuery를 솔루션을 제공해야합니다, 라인 'qtdComentariosNoTeaser': 5,을 제거하거나 9999 OP는 jQuery를 사용

+0

나는 그것을하지 않기 때문에, 나는하지 않았다. – Comentarist

+0

소스 코드에 액세스 할 수 있습니까? 나는 greasemonkey 태그를 알아 차렸으니 스크립트를 만들려는 것일까? – jammykam

+0

소스에 액세스 할 수 없으며 스크립트를 수행하려고합니다. – Comentarist