2015-05-06 17 views
0

Я работаю над скриптом tampermonkey/greasemonkey, который будет нажимать кнопку на веб-странице при загрузке страницы. Вот код для формы.Невозможно нажать кнопку формы с помощью tampermonkey

<form> 
    <input type="hidden" name="xsrf_token" value="497903b8" /> 
    <input type="hidden" name="do" value="" /> 
    <input type="hidden" name="code" value="1APdij" /> 
    <div data-do="entry_insert" class="sidebar__entry-insert"> 
     Click Here 
     <span class="sidebar__entry__points">(3P)</span> 
    </div> 
    <div class="sidebar__entry-loading is-disabled is-hidden"> 
     <i class="fa fa-refresh fa-spin"></i> 
     Please wait... 
    </div> 
</form> 

Вот один лайнер, который я пытаюсь использовать, чтобы нажать кнопку на странице. Когда страница загружается и выполняет один лайнер, он ничего не делает. Я также попробовал submit().

$('form').off().click(); 

Любая помощь будет замечательной. Благодарю.

+0

Вы пробовали запуская событие щелчка на кнопке реальной? '$ ('form [data-do =" entry_insert "]'). click()' (при условии, что div с текстом Click Here является кнопкой) – ekuusela

+0

Вау, это сработало. Спасибо. – parkour86

ответ

1

Вместо формы наведите курсор на фактическую кнопку при запуске события клика.

$('form [data-do="entry_insert"]').click() 

Срабатывание submit для формы будет работать тоже, если JS для этой формы прислушивался к нему.

Non-JQuery версия:

var target = document.querySelectorAll('form [data-do="entry_insert"]')[0]; 
var e = new MouseEvent('click', { 
    'view': window, 
    'bubbles': true, 
    'cancelable': true 
}); 
target.dispatchEvent(e); 
+0

Как бы я сделал то же самое, но с документом? 'document.getElementsByTagName ('form [data-do =" entry_insert "]') [0] .click();' – parkour86

+0

Я обновил свой ответ – ekuusela

+0

Кажется, у меня проблема с версией, отличной от jquery. Он отлично работает, но когда он используется внутри GM_xmlhttpRequest, он не нажимает кнопку. – parkour86

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