2012-08-05 67 views
0

我想不斷點擊按鈕id =「option2」通過greasemonkey。如何通過Greasemonkey自動連續點擊按鈕?

http://jsfiddle.net/cBJaP/

視頻: http://www.youtube.com/watch?v=wUUo0eguGTg

我該怎麼辦呢?

<div class="content"> 
    <ul class="soruBtn"> 
     <li class="optionA"> 
      <a id="option1" hidefocus="true" style="outline: medium none;"> 
       41.000 TL 
      </a> 
     </li> 
     <li class="optionB"> 
      <a id="option2" hidefocus="true" style="outline: medium none;"> 
       44.000 TL 
      </a> 
     </li> 
    </ul> 
</div> 
<script type="text/javascript"> 
    $(".contentContainer").attr("class", "contentContainer2"); 
</script> 

</div> 

回答

0

在jQuery的嘗試是這樣的:

while (true) { 
    $('#option2').trigger('click'); 
} 

這將產生一個死循環,保持觸發id爲1選項按鈕的單擊事件。不知道關於greasemonkey部分,但沒有經驗。

編輯:

至於建議,增加超時可能是最好的。它看起來像這樣:

setTimeout(function() { 
    $('#option2').trigger('click'); 
}, 100); 

這會觸發每100毫秒或每秒10次的點擊事件。您可能會提高速度,具體取決於您的計算機以及按鈕所觸發的內容。 有關setTimeoutsetInterval功能更多信息可以在這裏找到:http://www.w3schools.com/js/js_timing.asp

+0

它應該工作,但我建議'setTimeout',因爲這可能會拉太多的資源。稍微停頓一下會更好,我猜。 – 2012-08-05 18:08:36

+0

感謝PeterVR,但我怎樣才能爲它添加settimeout? – Nikolas 2012-08-16 17:41:48

+0

@Nikolas,我更新了我的答案 – Pevara 2012-08-17 18:21:38

3

我真的不與任何的Greasemonkey或jQuery的,但我認爲這可能是普通的JavaScript迎刃而解。該代碼添加到<script>標籤:

function pressMyButton(){ 
    eval(document.getElementById("option2").href); 
    setTimeout("pressMyButton()",100); 
} 
pressMyButton(); 

這將完成:它聲明的函數pressMyButton()(你可以選擇任何名稱),並在該函數是:

  1. 執行無論是在鏈接的href屬性
  2. 在100毫秒內再次調用自身。

您當然可以將100毫秒設置爲更小的方式,但我不建議將其設置爲零;重複關注/執行鏈接的目的是什麼?

希望這有助於;如果您遇到問題,請告訴我。

+0

感謝兄弟,但它不工作,或者我不能這樣做。 – Nikolas 2012-08-16 19:22:44

+0

什麼不起作用?你試過了什麼,發生了什麼? – tomsmeding 2012-08-18 07:06:44

+0

它不是點擊按鈕。你可以試試你的網頁瀏覽器嗎?謝謝https://www.facebook.com/sahibindencom/app_112574212172218 – Nikolas 2012-08-19 14:22:16