2013-12-16 13 views
6

Cerca un Javascript che faccia clic con il pulsante sinistro del mouse su un'immagine/pulsante identificato dal nome dell'ID o della CLASSE, attendi x secondi e ripeti. E in grado di funzionare in strumenti per sviluppatori, tocca la console, in chrome e firefox.Simula un clic del mouse in Javascript

Ho provato a scrivere da solo, perché ho pensato che sarebbe stato un semplice codice, ma dopo 2 ore di tentativi ed errori senza fortuna, sto iniziando a esaurire le opzioni.

Speriamo che un Javascript pro là fuori ha ottenuto il tempo di aiutare un utente molto alle prime armi;)

Grazie

+0

Perché non acquistare Ranorex o Quick test pro –

+1

Non è una domanda per principianti! – scrblnrd3

+1

Forse questo potrebbe aiutare http://stackoverflow.com/questions/2490825/how-to-trigger-event-in-javascript – JCOC611

risposta

2

Se siete disposti a utilizzare jQuery, è possibile utilizzare questa semplice funzione per farlo:

window.setInterval(function(){ 
    $("#divToClick").trigger("click"); 
}, 1000); 

che chiamerà ogni 1000 millisecondi, o 1 secondo

Per una soluzione pura Javascript, si dovrebbe dare un'occhiata a How to trigger event in Javascript

o, se non siete interessati a sostenere IE, è possibile farlo nel modo semplice, con un costruttore Event(), e event.dispatch()

+0

.trigger mi salva la vita. – FaceBro

2

Cosa c'è di sbagliato con

document.getElementById(id).click() 
+2

Che funziona solo per elementi di input e collegamenti – scrblnrd3

+0

Prova questo: http://jsfiddle.net/c7ghL/ –

2

occorre utilizzare in event constructor e dispatchEvent per questo:

var support = true; // check if event constructor is supported 

try { 
    if (new MouseEvent('click', {bubbles: false}).bubbles !== false) { 
     support = false; 
    } else if (new MouseEvent('click', {bubbles: true}).bubbles !== true) { 
     support = false; 
    } 
} catch (e) { 
    support = false; 
} 

setInterval(function() { 
    if (support) { 
     var event = new MouseEvent('click'); 
    }else{ 
     var event = document.createEvent('Event'); 
     event.initEvent('click', true, true); 
    } 
    elem.dispatchEvent(event); 
},1000); 

FIDDLE

+0

Hai provato il codice JavaScript che hai scritto su Fiddle, ma non fare clic sull'immagine e non restituisce alcun errore. solo uscita 44 e cliccato. – zyl1647

+0

Ha ovviamente sostituito il test con l'ID effettivo. – zyl1647

+0

@ zyl1647 - Questo è ciò che fa la console quando lo stesso valore viene registrato più volte, aggiunge semplicemente un numero nella parte anteriore per il numero di volte che è stato registrato sulla console, prova questo e vedi -> http: // jsfiddle .net/hLnTy/4/ – adeneo

Problemi correlati