2013-12-16 6 views
6

Ищете Javascript, который делает щелчок левой кнопкой мыши по изображению/кнопке, идентифицированной по имени или имени CLASS, дождаться x секунд и повторить. И может работать в инструментах разработчика. Консольный кран, в хром и firefox.Имитировать щелчок мышью в Javascript

Пытался написать его сам, потому что я решил, что это будет простой код, но после двух часов проб и ошибок, не имеющих удачи, у меня заканчиваются варианты.

Будем надеяться, что Javascript про там есть время, чтобы помочь очень начинающему пользователю;)

Благодаря

+0

Почему бы не купить Ranorex или Quick test pro –

+1

Не начинающий вопрос вообще! – scrblnrd3

+1

Возможно, это может помочь http://stackoverflow.com/questions/2490825/how-to-trigger-event-in-javascript – JCOC611

ответ

2

Если вы готовы использовать JQuery, вы можете использовать эту простую функцию, чтобы сделать это:

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

это будет называть его каждые 1000 миллисекунд или 1 секунда

Для чистого раствора Javascript, вы должны смотреть на How to trigger event in Javascript

или, если вы не заинтересованы в поддержке IE, вы можете сделать это простой способ, с Event() конструктором, и event.dispatch()

+0

. trigger сохраняет мою жизнь. – FaceBro

2

Что случилось с

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

Это работает только для элементов ввода и ссылок – scrblnrd3

+0

Попробуйте следующее: http://jsfiddle.net/c7ghL/ –

2

Вы использовали бы event constructor и dispatchEvent для этого:

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

Пробовал код Javascript, который вы написали на Fiddle, но не нажимает изображение и не возвращает ошибку. просто вывести 44 и щелкнуть. – zyl1647

+0

Конечно, замените тест на фактический идентификатор. – zyl1647

+0

@ zyl1647 - Это то, что делает консоль, когда одно и то же значение регистрируется снова и снова, оно просто добавляет число в начале для количества раз, когда оно было зарегистрировано на консоли, попробуйте это и посмотрите -> http: // jsfiddle .net/hLnTy/4/ – adeneo

Смежные вопросы