2015-06-01 229 views
0

即時通訊非常新的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); 
+0

你想在頁面加載完成後立即按下按鈕,然後自動運行該功能? - 我在第二行看到,你是否需要兩個引號?我認爲應該刪除一個關閉在行首 – TrojanMorse

+0

開始一個我希望它點擊按鈕,當它出現後自動戰鬥用完 – Dazza

回答

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選擇器的東西。

+1

分配一個錨點我將不得不修改元素之前點擊所以它可以識別它? – Dazza

+0

我已經嘗試過上述變化,它不會點擊按鈕 – Dazza

+0

抱歉,最後一行代碼應該是waitForKeyElements(「#restartAnchor」,clickattack); – Kell