Encontré este script en un sitio web. El ciclo termina cuando ha seguido 40 cuentas de Instagram en un intervalo de 2 segundos. ¿Cómo modifico el script para que espere 10 minutos antes de repetir el mismo ciclo 3 veces? Básicamente, va:
var TagFollow = document.getElementsByTagName("button"); var SearchFollow = "Follow"; var foundFollow; function clickfollow(){ for (var i = 0; i < TagFollow.length; i++) { if (TagFollow[i].textContent == SearchFollow) { foundFollow = TagFollow[i]; foundFollow.click(); break; } } } var i = 1; function myLoop() { setTimeout(function() { console.log(new Date().toLocaleTimeString()); clickfollow(); //document.getElementsByTagName("ul")[3].scrollIntoView(false i++; if (i < 41) { myLoop(); } }, 2000) } myLoop();¡Gracias por adelantado!
No necesita bucles anidados. Puede "linearizarlos" en un solo ciclo (no recuerdo el therm correcto ahora). Entonces, básicamente, desea un ciclo de 3 * 40 = 120 y después de cada 40 debe usar un retraso aumentado de 10 * 60 * 1000 = 600000 . Te ayudas a ti mismo usando la función módulo i%40 . Debido a que comienza con 1, cada iteración número 40 es cuando el resto de i dividido con 40 es cero.
Entonces, básicamente, cambia if (i < 41) a if (i < 121) y }, 2000) a }, i%40 === 0 ? 600000 : 2000)