如何通过Greasemonkey自动连续点击按钮?

时间:2012-08-05 02:23:59

标签: javascript html greasemonkey

我想通过greasemonkey不断点击按钮id =“option2”。

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>

2 个答案:

答案 0 :(得分:3)

我没有使用greasemonkey或jQuery,但正如我所看到的,这可以通过简单的Javascript轻松解决。将此代码添加到<script>代码:

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

这将做什么:它声明一个函数pressMyButton()(您可以选择任何名称)并在该函数中:

  1. 执行链接href属性
  2. 中的任何内容
  3. 在100毫秒内再次调用自己。
  4. 您当然可以将100毫秒设置为更小的尺寸,但我不建议将其设置为零;您反复关注/执行链接的目的是什么?

    希望这有帮助;如果您遇到问题,请告诉我。

答案 1 :(得分:0)

在jQuery中尝试这样的事情:

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

这会产生一个无限循环,不断触发id为option2的按钮的click事件。虽然不确定关于greasemonkey的部分,但没有经验。

修改

根据建议,添加超时可能是最好的。它看起来像这样:

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

这将每100毫秒或每秒10次触发点击事件。您可以提高速度,具体取决于您的计算机以及按钮触发的确切内容。 有关setTimeoutsetInterval函数的详细信息,请访问:http://www.w3schools.com/js/js_timing.asp