每 1 分钟在 chrome 中运行一次脚本
Run a script in chrome every 1 minute
im 试图制作一个脚本,从 3 个类名中随机挑选 1 个每 1 分钟单击所选班级的按钮到目前为止,我创建了单击按钮的脚本:
setTimeout(function () {
$(".btn-danger").trigger("click");
}, 100);
问题是如果我把它放在一段时间里(真的)网站卡住,然后浏览器崩溃。
我也不知道如何选择随机类,所以我放了其中一个。
很高兴在这里得到一些帮助:D
查看setInterval()
以一遍又一遍地运行某些内容。 您可以使用 Math.floor(Math.random() * 3)
生成从 0 到 2 的随机索引。
例如,您可以选择一个随机类名,如下所示:
var classes = ["classA", "classB", "classC"];
function selectRandomArrayElement(array) {
return array[Math.floor(Math.random() * array.length)];
}
var rand = selectRandomArrayElement(classes);
所以,把它们放在一起:
var classes = ["classA", "classB", "classC"];
function selectRandomArrayElement(array) {
return array[Math.floor(Math.random() * array.length)];
}
// click on a the object with a random class name every minute
setInterval(function() {
var rand = selectRandomArrayElement(classes);
$("." + rand).trigger("click");
}, 1000*60);
在 Javascript 中,你不能使用像这样while(true)
长时间的循环来阻止浏览器的其余部分处理事件,因此你触发的点击事件永远不会被处理。 相反,您可以使用计时器重复执行某些操作。
您正在寻找setInterval
而不是setTimeout
,这将以您指定的间隔无限期地调用回调。
setInterval(function () {
$(".btn-danger").trigger("click");
}, 60000);
应该为你工作。 while(true)
会使浏览器崩溃,因为您正在创建一个无限循环,阻止任何其他代码执行。
setTimeout 使用毫秒,并且只发生一次。使用一秒 * 60 的 setInterval 来获取一分钟。
var minute = 1000 * 60;
setInterval(function() { $(".btn-danger").trigger("click");
}, minute);
相关文章:
- 更改路由后,运行一次js脚本
- 只运行一次提取的脚本
- 在谷歌应用程序脚本中,如何在满足条件的情况下只发送一次电子邮件
- 是否有脚本/代码可以一次将链接属性添加到多个链接
- Ajax发布到PHP脚本,每5秒查询一次MySQL数据库的性能/问题
- 为什么这个脚本只工作一次?只替换元素一次,然后再也不替换
- 控制不止一次跳水的风格's风格使用java脚本动态,使用类
- 始终在chrome/ffirefox中工作的脚本在IE中只能工作一次
- 显示弹出脚本,使其在每个浏览器会话中只弹出一次
- 每 1 分钟在 chrome 中运行一次脚本
- Chrome 扩展程序,每分钟刷新一次页面,并在每次刷新时运行 (javascript) 脚本
- 如何使我的Chrome扩展只注入一次脚本
- Javascript每300秒运行一次脚本
- 每3小时在服务器上运行一次脚本
- 每个浏览器会话运行一次脚本,但在结束时冻结脚本
- 如何在Chrome扩展中每天只运行一次脚本
- 执行javascript,然后每60秒刷新一次脚本
- 油脂猴子每天运行一次脚本
- Javascript-在只运行一次脚本之前等待一段时间
- 如何阻止jquery为每个类成员运行一次脚本?