无法单击按钮

时间:2015-06-01 12:08:00

标签: javascript tampermonkey

我是非常新的Javascript,并想知道你是否可以提供帮助,我在我的脚本中使用waitForKeyElements但是我无法让它在脚本中点击网站上的按钮。

/*- This is the html of the button i'd like to click when it appears

<div id="battleInfo">
<center>You are out of autos 
<a href="#" onclick="phoenixtales.battle.restartBattleAuto();">Restart</a>
</center>
</div>

*/


// ==UserScript==
// @name         Autoscript
// @version      0.1
// @require      http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js
// @require      http://gist.github.com/raw/2625891/waitForKeyElements.js
// @include      http://tpt-rpg.com/auto_battle.php
// @grant        GM_addStyle
// ==/UserScript==

function clickattack (jNode) {
var clickEvent = document.createEvent
('MouseEvents');
clickEvent.initEvent('click', true, ture);
jNode[0].dispatchEvent (clickEvent);
}

waitForKeyElements (
"button[onclick*='phoenixtales.battle.restartBattleAuto()']"",
clickattack);

1 个答案:

答案 0 :(得分:0)

您将事件附加到按钮,但它实际上被定义为附加到html中的锚点。所以你可以试试

"a[onclick*='phoenixtales.battle.restartBattleAuto()']"",

而不是

"button[onclick*='phoenixtales.battle.restartBattleAuto()']"",

但为什么不给你的主持人一个id,这样你就可以用id来找到它?像这样:

<a id="restartAnchor" href="#" onclick="phoenixtales.battle.restartBattleAuto();">Restart</a>

"#restartAnchor[onclick*='phoenixtales.battle.restartBattleAuto()']"",

免责声明:我不熟悉waitForKeyElement,但似乎是使用css选择器查​​找内容。