2013-01-11 4 views
-1

여기서 어떤 문제가 발생합니까? 클릭하지 않습니까?Greasemonkey 스크립트가 버튼을 클릭하지 않습니다.

내 코드 :

// ==UserScript== 
// @name  premiumleech 
// @namespace premiumleech 
// @include  http://generator.premiumleech.com/link/*.html 
// @require http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js 
// @grant GM_addStyle 
// ==/UserScript== 
/*- The @grant directive is needed to work around a design change 
introduced in GM 1.0. It restores the sandbox. 
*/ 

/* 
<p class="leech-btn"><button onclick="javascript:window.open('http://generator.premiumleech.com/redir/BtPpnGJv2HcZRa2BTxsEQzUdDQbb6WO1','_blank');">Leech it!</button></p> 
*/ 
/* 
/html/body/div[2]/div/section/p[2] 
*/ 

var targBtn = $("#content > p.leech-btn > button"); 
if (targBtn.length) { 
targBtn[0].click(); 
} 


내가 먼저 자바 스크립트를 시도했지만 queryselector는 "그 버튼 Weired에있는 모든 단어를 찾을 수 없습니다"와 get..ByTagName가 뚜렷한 이유에서 실패로 적응하는 데 실패 최소한 나

function clickc() 
{ 
var el = document.querySelector("_blank"); or document.getElementsByTagName("TABLE"); 
var evt = document.createEvent("MouseEvents"); 
event.initMouseEvent("click", true, true, window, 
      0, 0, 0, 0, 0, 
      false, false, false, false, 
      0, null); 
el.dispatchEvent(evt); 
} 
+0

.click()'잘 작동해야합니다. '$ ("body> div : 두 번째> div : first> div : 첫 번째> p : 두 번째")'에서 요소를 가져오고 있습니까? – Cerbrus

답변

1

jQuery의 click() 메소드는 요소에서 클릭 동작을 실행하지 않습니다. 대신 click 이벤트 핸들러에 대해 등록 된 액션을 트리거하고 인수가 전달되면 해당 요소를 클릭하기위한 콜백 함수로 사용됩니다. 그 HTML 요소를 클릭 위해 당신은 기본적으로 HTML 요소 (하지 jQuery 오브젝트)를 선택하고 클릭 이벤트가 발생합니다

$("body > div:second > div:first > div:first > p:second").get(0).click(); 

이를 사용해야합니다.

+0

테스트 한 링크가 다음과 같습니다. http://generator.premiumleech.com/link/qBtrxQmWvMr9y7XbcPSv87qNsbpjDVbs.html –

관련 문제