Tengo un hipervínculo en mi página. Estoy tratando de automatizar una serie de clics en el hipervínculo para fines de prueba. ¿Hay alguna forma de simular 50 clics en el hipervínculo usando JavaScript?
<a href="#" target="_blank" onclick="javascript:Test("Test");">MSDN</a>
Estoy buscando el activador de eventos onClick desde JavaScript.
javascript
dom-events
usuario171523
fuente
fuente
for(
.ACTUALIZAR
Esta fue una vieja respuesta. Hoy en día solo debes usar click . Para la activación de eventos más avanzada, use dispatchEvent .
Respuesta original
Esto es lo que uso: http://jsfiddle.net/mendesjuan/rHMCy/4/
Actualizado para trabajar con IE9 +
Tenga en cuenta que llamar
fireEvent(inputField, 'change');
no significa que realmente cambiará el campo de entrada. El caso de uso típico para disparar un evento de cambio es cuando establece un campo mediante programación y desea que se llame a los controladores de eventos, ya que la llamadainput.value="Something"
no activará un evento de cambio.fuente
jQuery
o no). Puedo proporcionar una ayuda más significativa si hace una nueva pregunta con el código exacto que estaba intentando pero no funcionaba.Qué
does es exactamente llamar a la
onclick
función del
, es decir, si ha configurado uno conl.onclick = myFunction;
. Si no ha configuradol.onclick
, no hace nada. A diferencia de,simula un clic y dispara todos los controladores de eventos, ya sea que se agreguen
l.addEventHandler('click', myFunction);
, en HTML o de cualquier otra manera.fuente
window
objeto, no expondrá mágicamente unawindow.click
función.Me da mucha vergüenza que haya tanta aplicabilidad parcial incorrecta o no revelada.
La forma más fácil de hacerlo es a través de Chrome u Opera (mis ejemplos usarán Chrome) usando la consola. Ingrese el siguiente código en la consola (generalmente en 1 línea):
Esto generará el resultado requerido
fuente
.click()
no funciona con Android (mira los documentos de Mozilla , en la sección móvil). Puede activar el evento de clic con este método:De esta publicación
fuente
.click()
no funciona con Android" En realidad, la última tabla dice "Compatibilidad desconocida".Use un marco de prueba
Esto podría ser útil - http://seleniumhq.org/ - Selenium es un sistema de prueba automatizado de aplicaciones web.
Puede crear pruebas con el complemento de Firefox Selenium IDE
Disparo manual de eventos.
Para disparar eventos manualmente de la manera correcta, necesitará usar diferentes métodos para diferentes navegadores, ya sea
el.dispatchEvent
oel.fireEvent
dóndeel
será su elemento de anclaje. Creo que ambos requerirán la construcción de un objeto Evento para pasar.La alternativa, no del todo correcta, rápida y sucia sería esta:
fuente
IE9 +
Ejemplo de uso:
Fuente: https://plainjs.com/javascript/events/trigger-an-event-11/
fuente
Advertencia justa:
element.onclick()
No se comporta como se esperaba. Solo ejecuta el código dentroonclick="" attribute
, pero no activa el comportamiento predeterminado.Tuve un problema similar con el botón de radio que no se configuró en marcado, a pesar de que la
onclick
función personalizada funcionaba bien. Tuve que agregarradio.checked = "true";
para configurarlo. Probablemente lo mismo ocurre y para otros elementos (después dea.onclick()
que debería haber tambiénwindow.location.href = "url";
)fuente
onclick()
significaría que elevent
objeto no será definido automáticamente por el navegador, por lo que los métodos comunes comoevent.stopPropagation()
también estarán indefinidos.fuente