提问人:Selim 提问时间:11/9/2023 更新时间:11/10/2023 访问量:50
Javascript click() 函数同时单击所有按钮
Javascript click() function clicking all the buttons at the same time
问:
我想单击网站上的所有按钮,但我的代码尝试同时单击所有 2000 个按钮,因此 chrome 失败。我怎样才能让它一个接一个地点击所有按钮,这样它就不会强迫计算机和 chrome?我想计算元素的索引并有一个for循环,但我想知道有没有其他方法或基本代码
const divs =
document.querySelectorAll('.wbloks_1');
divs.forEach(div => {
div.click();
});
Chrome 因过载而失败
答:
-1赞
call me Gi
11/9/2023
#1
您可以对任务使用递归
clickButton = (index) => {
while(index < 2000) {
document.querySelector('.wbloks' + [index]).click();
clickButton(index + 1);
}
return;
}
----------
评论
0赞
Quentin
11/10/2023
这使得代码更加复杂,有遇到过多递归的风险,并且与原始代码存在相同的问题。
0赞
Elvis Adomnica
11/10/2023
#2
如果您还没有弄清楚这一点,正如我在评论中提到的,您可以使用它。setTimeout
const divs = document.querySelectorAll('.wbloks_1');
const ms = 10; // whatever delay value you want
divs.forEach((div, index) => {
setTimeout(() => { div.click(); }, index * ms);
});
下一个:如何使按钮可点击一次?
评论
setTimeout
requestAnimationFrame
it will make sure current code queue is over