如何使用 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 自动单击浏览器按钮?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 html 和 javascript 在网页上自动播放声音