0

我想通过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>
4

2 回答 2

3

我不是真的使用greasemonkey 或jQuery,但正如我所见,这可以用普通的Javascript 轻松解决。将此代码添加到<script>标签中:

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

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

  1. 执行链接href属性中的任何内容
  2. 在 100 毫秒内再次调用自身。

您当然可以将 100 毫秒设置为更小的值,但我不建议将其设置为零;您反复关注/执行链接的目的是什么?

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

于 2012-08-05T18:27:36.847 回答
0

在 jQuery 中尝试这样的事情:

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

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

编辑:

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

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

这将每 100 毫秒触发一次点击事件,或每秒触发 10 次。您可能会提高速度,具体取决于您的计算机以及按钮将触发的确切内容。更多关于setTimeoutsetInterval函数的信息可以在这里找到: http: //www.w3schools.com/js/js_timing.asp

于 2012-08-05T02:47:17.013 回答