2017-02-19 8 views
0

クロム開発ツールでいくつかのJSスニペットを実行しようとしています。誰でもここで助けることができますか?ありがとう。クロム開発ツールのスニペットを実行しているときに新しいページのボタンをクリックしたい場合はどうすればいいですか?

たとえば、StackOverflowサイトを利用してください。スクリプトはナビゲータタブの "Jobs"をクリックして新しいページを開き、 "Create alert"ボタンをクリックします。 enter image description here 詳細については、画像を参照してください。

f1は別々に、またf2でも動作しますが、それらを組み合わせても機能しません。 一緒に働くことを願ったらどうすればいいですか?ページ遷移がすでにf1()を実行した後に発生したため

function f1(){ 
 
    //click the nav-jobs 
 
    document.getElementById("nav-jobs").click(); 
 
} 
 

 
function f2(){ 
 
    // create the button "Create alert" on the job page 
 
    document.getElementById("reg-alert-model").click(); 
 
} 
 

 
f1(); 
 
setTimeout(f2, 5000);

答えて

0

関数呼び出しf2()は発生しません。

JavaScript関数呼び出しは、ページ遷移間のコールスタックで持続しません。

+0

答えをありがとう、私はそれを行うために夢中なら、どうすればよいですか? – FX1024

+0

Seleniumなどのテストフレームワーク、またはGreaseMonkey/Tampermonkeyなどのユーザースクリプトランナーを使用して、関数がページコンテキストにバインドされていないようにします。 –

+0

ありがとう、Tampermonkeyで解決してください。 – FX1024

0

ページがリロードされるか、新しいページが読み込まれると、前のページのコンテキスト全体がクリア/リセットされます。したがって、文書の変更に対してタイマーを実行させることはできません。当然ながら、別々に実行すると(no、ではなく)、コンテキストの変更はありませんので、期待どおりに動作します。その間にコンテキストを変更すると、タイマーを含めてすべてが失われます。開発者用ツールを使用しても、コンテキストを保持するのに魔法はありませんが、コンソールで実行するのか、「ページコード」で実行するのかはまったく問題ありません。

+0

答えをありがとう、私はそれを行うために戦った場合はどうすればよいですか? – FX1024

関連する問題