如何使用 JavaScript 自动单击浏览器按钮?

Posted

技术标签:

【中文标题】如何使用 JavaScript 自动单击浏览器按钮?【英文标题】:How to click a browser button with JavaScript automatically? 【发布时间】:2011-05-29 19:02:02 【问题描述】:

如何使用 javascript 每秒点击一个按钮?

【问题讨论】:

但是……为什么?也许一些背景会有所帮助?即可能有更好的方法来实现您正在尝试做的事情......而不是每秒点击一个按钮...... 因为decisionproblem.com/paperclips 【参考方案1】:
setInterval(function () document.getElementById("myButtonId").click();, 1000);

【讨论】:

实际上是在模拟按钮单击还是只是为myButtonId调用事件侦听器?? 你可以通过按类名定位按钮来做到这一点吗? @Kelseydh 是的,你可以,但请记住 getElementsByClassName() 将返回一个元素数组,而不仅仅是一个。因此,您需要遍历数组强制单击执行。另请注意,此方法存在于所有当前浏览器中,但在某些较旧的浏览器中不可用。这是一些参考。 developer.mozilla.org/en-US/docs/Web/API/Document/… @Kelseydh。我还为纯 JAVASCRIPT 实现回答了这个问题。 JQuery 提供了一个更简洁的接口来处理这个问题。【参考方案2】:
document.getElementById('youridhere').click()

【讨论】:

这只是部分回答了问题,问题的重复部分仍然悬而未决。【参考方案3】:

这将使您对点击有一些控制,并且看起来很整洁

<script>
var timeOut = 0;
function onClick(but)

    //code
    clearTimeout(timeOut);
    timeOut = setTimeout(function ()onClick(but),1000);

</script>
<button onclick="onClick(this)">Start clicking</button>

【讨论】:

有什么理由每次调用它时都会清除并重新创建自己的计时器,而不是使用 interval = setInterval(...) 自己重复,并在必要时使用 clearInterval(interval) 每次单击它时,它都会启动另一个循环,只是想我会在循环内停止它,这样您就可以在再次启动之前进行条件检查。此外,这是使用setTimeout,这只是为了显示setInterval的替代方法 好吧,当然,这是一个不错的选择,具体取决于某人想要的效果。 +1【参考方案4】:

这样就可以了

setInterval(function()$("#myButtonId").click();, 1000);

【讨论】:

添加一些描述会有所帮助。【参考方案5】:

你可以使用

setInterval(function() 
    document.getElementById("yourbutton").click();
, 1000);

【讨论】:

【参考方案6】:

这将工作,简单易行

 `<form method="POST">
<input  type="submit" onclick="myFunction()" class="save" value="send" name="send" id="send" style="width:20%;">
</form>
<script language ="javascript" >
function myFunction() 
setInterval(function() document.getElementById("send").click();, 10000);    

</script>

`

【讨论】:

以上是关于如何使用 JavaScript 自动单击浏览器按钮?的主要内容,如果未能解决你的问题,请参考以下文章

Selenium:如何点击javascript按钮

如何使用 html 和 javascript 在网页上自动播放声音

如何获取地理位置然后自动提交表单而无需单击按钮

通过Javascript自动单击具有唯一标签和类名的页面上的按钮的方法

如何从动态添加(使用 javascript)元素中获取值?

如何使用javascript从一个页面转到另一个页面?