2017-10-22 9 views
0

私はボットを作っています。私はボタンをクリックするこのhtmlページを持っています(タイプ= "submit")。そうすると、確認ボックスのような小さなウィンドウがポップアップします。この確認ボックスのソースは、HTMLコードには表示されていないため、表示できません。しかし、私はメッセージボックスから、このコードを取得するJavaScriptコンソールから:javascriptで確認ボックスのボタンをクリックできません

<div class="confirmation-box" id="pop" role="dialog" aria-labelledby="confirmation-msg"> 
<div><div style="text-align: left"></div> 
<div class="confirmation-buttons"> 
<button class="btn evt-confirm-btn btn-confirm-yes" aria-label'confirmar'="">Confirmar</button> 
<button class="btn evt-cancel-btn btn-confirm-no" aria-label'cancelar'="">Cancelar</button> 
</div></div></div> 

私はいくつかのjavascriptのコードを試してみたが、私は「Confirmar」ボタンをクリックすることはできませんよん。確認ボックスがポップアップする前にjavascriptコードが実行され、ボタンのIDとクラスが認識されないようです。

マイコード:

// Clicks the button on the html page, working OK 
....{document.forms[0].sell.value = y-x; 
document.querySelector('input[value="Calcular melhor oferta "]').click(); 

今すぐ確認ボックスが表示され、私は成功事例のせずに、確認ボックスに表示されるボタンをクリックして次のコードを使用しようとしました:

document.getElementById("pop").getElementsByClassName("confirmation-buttons").getElementsByClassName("evt-confirm-btn btn-confirm-yes")[0].click();} 

document.getElementsByClassName("evt-confirm-btn")[0].addEventListener("click", function(){console.log("hello");}); 

document.getElementsByClassName("evt-confirm-btn")[0].click();} 

それ確認ボックスが表示される前にこのコードが実行されているようです。

+0

JavaScriptがどのように実装されているか不明です。そのダイアログが動的に構築されている場合は、ダイアログが作成された後にイベントをバインドするか、代わりに親の '$( 'body')のバインディングを使用することもできます(on)( 'click'、 '.btn-confirm-yes' function(){alert();}) '例えば –

+0

コードのクリックをシミュレートしようとしていますか?あなたの質問からは分かりません。これまでに何を試みたことが成功しなかったのですか? –

+0

編集されたメインポスト。 – Ruikp

答えて

0

私が使用してそれを解決:

var timeOff=1000; 
setInterval(time, timeOff); 
function time() 
{ document.getElementById("pop").getElementsByClassName("evt-confirm-btn btn-confirm-yes")[0].click();}} 

をこれは、コードの残りの部分をruningて前に小さなウィンドウを実行するのに十分なコードに1秒の遅延を、作ります。

関連する問題