Recibí este enlace de un amigo mío para probar mi tiempo de reacción. https://www.arealme.com/reaction-test/es/
Este es un juego en el que aparecerá un círculo rojo y después de un tiempo aleatorio se volverá verde. Necesito hacer clic tan pronto como se ponga verde. Ese es mi tiempo de reacción.
Con reaccion real, mi mejor puntaje es 178, por si no creen he adjuntado ss 
Sé que puedo editar este 178 a cualquier número que desee. Pero quería crear un script que generara el evento de clic tan pronto como apareciera el círculo verde.
He planeado llamar a la siguiente función con setInterval
const clickCircle = (className)=> { let greenCircles = document.getElementsByClassName(className); if(greenCircles && greenCircles.length){ greenCircles[0].click(); }else{ console.log("No circles found with name ", className) } } clickCircle("tfny-circleGreen");El nombre de la clase que contiene el círculo verde es tfny-circleGreen. Entonces, llamar a clickCircle ("tfny-circleGreen") debería generar un evento de clic. Pero no lo es.
¿Qué me estoy perdiendo?
Tal vez hayan anulado la función de clic. Si ese es el caso, ¿cómo lo restauro?
Por favor, no preguntes por qué quiero esto, es solo que quería probarlo de esta manera por diversión.
function triggerMouseEvent (node, eventType) { var clickEvent = document.createEvent ('MouseEvents'); clickEvent.initEvent (eventType, true, true); node.dispatchEvent (clickEvent); } const clickCircle = (className)=> { let greenCircles = document.getElementsByClassName(className); if(greenCircles && greenCircles.length){ triggerMouseEvent (greenCircles[0], "mouseover"); triggerMouseEvent (greenCircles[0], "mousedown"); triggerMouseEvent (greenCircles[0], "mouseup"); triggerMouseEvent(greenCircles[0], "click"); }else{ console.log("No circles found with name ", className) } } setInterval(()=> { clickCircle("tfny-circleGreen"); }, 10)Este es el código completo que funciona :D
La función click() no funcionaba, así que tuve que simularla.