私はPHPでcURLでページを取得しています。すべてうまく動作しますが、ページが読み込まれた後、JavaScriptを使用して計算されるページの一部が取り出されます。 JavaScriptの計算が完了する前に、cURLはすでにページのソースをPHPスクリプトに戻してしまい、最終結果が間違っています。サイト上での計算はAJAXによって行われますので、簡単に計算を再現することはできません。また、私はターゲットページのコードにアクセスできないので、自分の(cURL)フェッチのニーズに合わせてそのターゲットページを調整することはできません。ページの動的更新が完了するまでcURLを待機させる方法はありますか?
すべての動的トラフィックが終了するまで、cURLに待機するように指示する方法はありますか。長いハングアップの原因となる可能性のある別のドメインにデータを送信し続けているJavaScriptがあるため、扱いにくいかもしれません。しかし、少なくとも正しい結果が得られれば、少なくとも私はテストすることができます。
Safariの私の開発者ツールバーは、ページが約1.57秒で完了したことを示しています。たぶん私は2秒も待つために静的にcURLを伝えることができますか?
私は可能性がカールが任意のJavaScriptを実行するか、ドキュメント内で参照される任意のファイルをダウンロードしません
幸運なことに、ちょっとしたコードです。 JavaScriptでコードを書き直し、jQueryとPhantomJSでデータをフェッチします。ありがとう:) –
PhantomJSを自分のjQueryを実行するローカルのHTMLページに明示的に含める方法はありますか? –
いいえ、phantom.jsは内部的に実際のWebkitブラウザを使用しますが、クライアントでは実行できません。 –