0

Web サイトから 2 つのスクリーンショットを取得しようとしています。1 つはサイトへの注入前、もう 1 つは注入後です。

問題は、すべてのアセットがロードされた後 (およびスクリプトを挿入する前) に最初のスクリーンショットを撮ろうとすると、onInitialized 関数内からスクリーンショットが作成されないことです..理由は何ですか?

page.onInitialized = function () {
    page.render('e1.png');
    page.evaluate(function () {
        <here i'm injectingo the page>
    });
};

また、js に似た 2 つのスクリーンショットを比較するにはどうすればよいですか? npmでパッケージをインストールし、phantomjsでテストを実行しているのですが、phantomjsで作成したスクリーンショットを変数に保存し、similar.jsでコンパイルする方法はありますか? 私のニーズに合ったコードを見てうれしいです。どうもありがとうございました!!

4

1 に答える 1

0

page.onInitializedイベントは

Web ページが作成された、URL がロードされる前に呼び出されます。

すべてのリソースを含むページが読み込まれるまで待機するにはpage.onLoadFinished、またはコールバックを使用する必要があります。ページが JavaScript によって動的に生成される場合は、それ以降はpage.open待機する必要があることに注意してください。setTimeout

于 2014-12-08T10:28:02.117 に答える