Javascript 无法单击按钮

Javascript 无法单击按钮,javascript,tampermonkey,Javascript,Tampermonkey,我对Javascript非常陌生,不知道你是否能帮上忙,我在脚本中使用WaitForkEyelments,但是我无法让它在脚本中单击站点上的按钮 /*- 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

我对Javascript非常陌生,不知道你是否能帮上忙,我在脚本中使用WaitForkEyelments,但是我无法让它在脚本中单击站点上的按钮

/*- 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);
/*-这是我希望在按钮出现时单击的按钮的html
你没有汽车了
*/
//==用户脚本==
//@name自动脚本
//@version 0.1
//@需要http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js
//@需要http://gist.github.com/raw/2625891/waitForKeyElements.js
//@包括http://tpt-rpg.com/auto_battle.php
//@grant GM_addStyle
//==/UserScript==
函数单击攻击(jNode){
var clickEvent=document.createEvent
(‘MouseEvents’);
clickEvent.initEvent('click',true,true);
jNode[0]。dispatchEvent(clickEvent);
}
女服务员(
“按钮[onclick*='phoenixtales.battle.restartBattleAuto()']”,
点击攻击);

您正在将事件附加到按钮,但实际上它被定义为附加到html中的锚。因此您可以尝试

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

"button[onclick*='phoenixtales.battle.restartBattleAuto()']"",
但是为什么不给你的主播一个id,这样你就可以用这个id找到它呢

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

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

是否希望在页面加载完成后立即按下按钮,然后自动运行该功能?-我在最后第二行看到,您需要两个引号吗?我认为应该删除一个引号以关闭s从行的开头开始我希望它在自动战斗结束后出现时单击按钮要分配锚,我必须在单击之前修改元素,以便它能够识别它?我尝试了上述变化,但它没有单击按钮栏,最后一行代码应该是WaitForkEyelments(“#restartAnchor”,clickattack);但在我看来,网站上没有设置锚id,因为我之前的回答是,我必须修改它以向其添加id才能工作,如果是,我应该怎么做?您选择添加id的方式是任意的。这应该可以工作:WaitForkEyelments(“a[onclick*='phoenixtales.battle.restartBattleAuto()”,clickattack),但我建议您打开浏览器的开发人员界面,看看标识锚的css/jquery路径是否有效
"#restartAnchor[onclick*='phoenixtales.battle.restartBattleAuto()']"",