2012-08-24 51 views
1

我想製作一個Greasemonkey腳本,如果值「Energy left」大於20%,它會每秒自動點擊「Empty trash」鏈接。如果某個值在另一個節點中,我該如何每秒自動單擊一個鏈接?

該頁面的代碼如下。謝謝你,並且爲我的壞英語感到抱歉

<div class="btn-group"> 
    <a class="btn btn-mini" href="#" data-toggle="dropdown"><i class="icon-wrench"></i> Chores</a> 
    <a class="btn btn-mini dropdown-toggle" data-toggle="dropdown" href="#"><span class="caret"></span></a> 
    <ul class="dropdown-menu"> 
     <li><a href="/pet/100000113715357/chore/1">Poke your owner (5%)</a></li> 
     <li><a href="/pet/100000113715357/chore/2">Pinch your owner (10%)</a></li> 
     <li><a href="/pet/100000113715357/chore/3">Serve strawberries (15%)</a></li> 
     <li><a href="/pet/100000113715357/chore/4">Empty trash (20%)</a></li> 
     <li><a href="/pet/100000113715357/chore/5">Iron clothes (40%)</a></li> 
     <li><a href="/pet/100000113715357/chore/6">Clean the pet store (60%)</a></li> 
     <li><a href="/pet/100000113715357/chore/7">Spank your owner (80%)</a></li> 
     <li><a href="/pet/100000113715357/chore/8">Dance with your owner (100%)</a></li> 
     <li class="divider"></li> 
     <li><a href="#">Energy left: 15%</a></li> 
    </ul> 
</div> 

回答

0

使用jQuery's contains selectorsetInterval

這裏的一個完整的腳本,應該是接近:

// ==UserScript== 
// @name _Auto-click the Empty trash link. 
// @include http://YOUR_SERVER.COM/YOUR_PATH/* 
// @require http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js 
// ==/UserScript== 

setInterval (EmptyTrashIfWeCan, 1000); //1000 = 1 second. 

function EmptyTrashIfWeCan() { 
    var energyDisp = $("div.btn-group ul.dropdown-menu li a:contains('Energy left')"); 
    var energyVal = energyDisp.text().replace (/^\s*Energy left:\s+(\d+)%\s*$/i, "$1"); 
    if (parseInt (energyVal, 10) > 20) { 
     var emptyTrashLink = $("div.btn-group ul.dropdown-menu li a:contains('Empty trash')"); 
     //--- Click the link in a more robust way... 
     var clickEvent  = document.createEvent ('MouseEvents'); 
     clickEvent.initEvent ('click', true, true); 
     emptyTrashLink.dispatchEvent (clickEvent); 
    } 
} 
相關問題