javascript - 如何为 Button.click Javascript 调用添加延迟

标签 javascript

我有以下脚本,在 Chrome 的控制台模式下运行,以自动单击网页上的某些按钮。 但我想在每次点击后添加一个延迟,这样它就不会一次点击所有按钮。 请让我知道如何继续。

[].slice.call(document.querySelectorAll('.button')).forEach(function(button) {button.click();});

最佳答案

可以使用请求requestAnimationFrame函数

delay(Array.from(document.querySelectorAll('.button')));

function delay(sequentialEvents) {
    if (sequentialEvents.length > 0) {
        requestAnimationFrame(function () {
            var btn = sequentialEvents.shift();
            btn.click();
            delay(sequentialEvents);
        });
    }
}

setTimeout函数

delay(Array.from(document.querySelectorAll('.button')), 1000);

function delay(sequentialEvents, ms) {
    if (sequentialEvents.length > 0) {
        setTimeout(function () {
            var btn = sequentialEvents.shift();
            btn.click();
            delay(sequentialEvents, ms);
        }, ms);
    }
}

关于javascript - 如何为 Button.click Javascript 调用添加延迟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49956402/

相关文章:

javascript - 正则表达式覆盖 html 输入字段中的文本后

javascript - 对于移动屏幕,如何从上到下移动一个 div?

javascript - 在应用程序范围内捕获 axios 请求错误

javascript - 在 react 中添加基于索引数组的类

javascript - 随着鼠标位置改变不透明度

javascript - 如何通过转换从代码导航 KendoUI 页面?

javascript - 纯 Javascript 中的元素坐标

javascript - 将对象添加到数组中的特定索引处

javascript - 在钛appcelerator中创建图像 slider

php ->Javascript 比较 2 个日期