2015-06-01 4 views
0

im очень новый для Javascript и задавался вопросом, можете ли вы помочь, im используя 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()']"", 

, но почему бы не дать якорь идентификатор, чтобы вы могли просто использовать идентификатор, чтобы найти его? Как так:

<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

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