我有一个按钮(超链接)及其等效的 HTML 代码:
<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);
}
上面的脚本不工作,不点击按钮。有人可以指出这里有什么问题吗?
编辑: 我在控制台中收到以下错误
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)
提前致谢!
最佳答案
在 Google Chrome 中完美运行,但在 IE8 中运行不佳
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);
可能对你有帮助。
关于javascript - 无法使用 Greasemonkey 单击此超链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21120914/