One Million Checkboxes - Checker

1 min read Original article ↗
// to copy and paste in your browser console after successfully loading https://onemillioncheckboxes.com/
let currentPosition = 459999
function getRandomInt(min, max) {
min = Math.ceil(min);
max = Math.floor(max);
return Math.floor(Math.random() * (max - min + 1)) + min;
}
function check(){
const inputs = document.querySelectorAll('input[type=checkbox]:not(:checked)')
const index = getRandomInt(0, inputs.length - 1)
console.warn('returning', index, inputs.length - 1)
return inputs[index];
}
function movePosition(newPosition) {
console.warn('movePosition', newPosition);
const posInput = document.querySelector('.grid')
posInput.scrollTop = newPosition;
const submit = document.querySelector('button[type=submit]')
submit.click();
currentPosition = newPosition;
}
function workflow() {
const nextInput = check()
if (nextInput) {
nextInput.click();
console.warn('click', nextInput)
} else {
movePosition(currentPosition - 1000)
}
}
movePosition(currentPosition);
const interval = setInterval(workflow, 200)