2014-01-14 3 views
1

У меня есть кнопка (гиперссылкой) с эквивалентным HTML код, как:Невозможно щелкнуть по этой ссылке с помощью Greasemonkey

<span title="Enroll in Classes" class="SSSBUTTON_CONFIRMLINK"> 
<a class="SSSBUTTON_CONFIRMLINK" href="javascript:submitAction_win0(document.win0,'DERIVED_REGFRM1_LINK_ADD_ENRL$118$');" tabindex="202" ptlinktgt="pt_peoplecode" id="DERIVED_REGFRM1_LINK_ADD_ENRL$118$" name="DERIVED_REGFRM1_LINK_ADD_ENRL$118$">Proceed to Step 2 of 3</a> 
</span> 

Я хочу, чтобы нажать на кнопку 10 секунд после загрузки страницы, и я использую следующий код :

// ==UserScript== 
// @name  Add to cart 
// @namespace Class 
// @description Script to add to cart 
// @include  http://go.oasis.com/add/?STRM=2141 
// @version  1 
// @grant  none 
// ==/UserScript== 

setInterval (clickOnProceedButton, 10 * 1000) 

function clickOnProceedButton() { 
    var targSubmit = $("#DERIVED_REGFRM1_LINK_ADD_ENRL$118$"); 
    var clickEvent = document.createEvent ('MouseEvents'); 
    clickEvent.initEvent ('click', true, true); 
    targSubmit[0].dispatchEvent (clickEvent); 
} 

Вышеупомянутый скрипт не работает и не нажимает кнопку. Может кто-нибудь указать, что здесь не так, пожалуйста?

EDIT: я получаю следующее сообщение об ошибке в консоли

ERROR: Execution of script 'Add to cart' failed! Object [object global] has no method 'clickOnProceedButton' 
TypeError: Object [object global] has no method 'clickOnProceedButton' 
    at Object.eval (unknown source)), 25:14) 
    at Object.eval (unknown source)), 27:4) 
    at ag (unknown source), 190:4) 
    at K (unknown source), 190:46) 
    at o (unknown source), 456:2) 
    at U (unknown source), 460:85) 
    at R (unknown source), 229:40) 

Спасибо заранее!

+0

Я думаю, что вам нужно бежать '$' 'так попробовать уаг targSubmit = $ ("# DERIVED_REGFRM1_LINK_ADD_ENRL \\ $ 118 \\ $");' – Satpal

+0

@Satpal - К сожалению, не работает. – Rajath

ответ

1

Прекрасно работает в Google Chrome но не работает в IE8

JSFiddle

HTML:

<a href="https://google.com" id="DERIVED_REGFRM1_LINK_ADD_ENRL$118$" >Proceed to Step 2 of 3</a> 

JS:

function clickOnProceedButton() { 
var targSubmit = document.getElementById("DERIVED_REGFRM1_LINK_ADD_ENRL$118$"); 
var clickEvent = document.createEvent('MouseEvents'); 
clickEvent.initEvent ('click', true, true); 
targSubmit.dispatchEvent(clickEvent); 

может вам помочь.

+0

Это тоже не работает! Невозможно даже открыть окно предупреждения. – Rajath

+0

, на каком браузере вы используете ..? –

+0

Firefox. Но попробовал и Chrome с расширением Tampermonkey. – Rajath

1
setInterval(clickOnProceedButton, 10 * 1000); 
function clickOnProceedButton() { 
    var link = document.getElementById("DERIVED_REGFRM1_LINK_ADD_ENRL$118$"); 
    if(link) { 
     link.click(); 
    } 
} 

Demo

+0

Кажется, document.getElementById() не извлекает ничего. Таким образом, действие нажатия не происходит. Ваша демонстрация работает нормально. – Rajath

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