我需要模拟网站上的多个按钮单击,并想使用 for 循环来完成此操作,但是它无法按预期工作(仅单击一次)。
for (i=0; i<10; i++) {
document.getElementById("increase_your_bet_button").click();
}
更新:我尝试了所有建议的解决方案,但没有任何效果,并且只能运行一次。玩过setTimeout并最终找到了一个合理的解决方案:
for (let i=0; i<10; i++) {
setTimeout(function() {
document.getElementById("increase_your_bet_button").click();
}, 1000*(i+1));
}
答案 0 :(得分:2)
完美运行:
for (i = 0; i < 10; i++) {
document.getElementById("increase_your_bet_button").click();
}
.as-console-wrapper { max-height: 100% !important; top: auto; }
<button id="increase_your_bet_button" onclick="console.log('Click!')">Click!</button>
答案 1 :(得分:0)
对我有用。
const btn = document.getElementById('increase_your_bet_button');
btn.addEventListener('click', () => console.log('clicker'));
for (let i = 0; i < 10; i++) {
btn.click();
}
<button id="increase_your_bet_button">Increase your bet</button>
要解决此问题,请尝试使用异步循环,例如:
const btn = document.getElementById('increase_your_bet_button');
btn.addEventListener('click', () => console.log('clicker'));
let i = 0;
// Click every millisecond.
function clickTenTimes() {
btn.click();
i++;
if (i < 10)
setTimeout(clickTenTimes, 1);
}
clickTenTimes();
<button id="increase_your_bet_button">Increase your bet</button>