Tengo un bot js simple que responde rápidamente a las preguntas de codificación en un área de texto completando el código javascript y haciendo clic en el botón Enviar, usando un bucle for para todas las soluciones que almacené en un objeto:
Aquí está parte del objeto de soluciones:
const solutions = { 'square': 'return x*x', 'getType': 'return typeof(x);', ....}Aquí está el envío real y/o bucle for:
const get_submit_button = () => document.querySelector('.task-buttons > .col > .btn'); const solve = () => { const ace_editor = ace.edit(document.querySelector('.ace_editor')) const submission = ace_editor.getValue() for (const key in solutions) { if (submission.includes('box.' + key + ' ')) { ace_editor.insert(solutions[key]) get_submit_button().click() setTimeout(() => { get_submit_button().click() setTimeout(() => { solve() }, 400) }, 900) return } } }; solve()Se supone que el ciclo responde unas 30 preguntas en 180 segundos. He intentado reducir el tiempo en la función setTimeout(), pero generalmente resulta en una ejecución más lenta debido al código (la solución se copia) varias veces en el área de texto.
¿Hay alguna forma de mejorar la velocidad de ejecución o el problema está relacionado con la velocidad de mi red (2Mb/s)?