13

Chrome は、ヘッドレス モードでのブラウザの実行を正式にサポートしています (Puppeteer API や CRI ライブラリを介したプログラムによる制御を含む)。

ドキュメントを検索しましたが、インスタンスから AJAX トラフィックをプログラムでキャプチャする方法が見つかりませんでした (つまり、コードから Chrome のインスタンスを開始し、ページに移動し、バックグラウンドの応答/要求呼び出しと raw にアクセスします)。データ (開発者ツールや拡張機能を使用していないコードからのすべて)。

これを達成する方法を詳述する提案や例はありますか? ありがとう!

4

4 に答える 4

16

アップデート

コメントで@Alejandroが指摘したようにresourceType、関数であり、戻り値は小文字です

page.on('request', request => {
    if (request.resourceType() === 'xhr')
    // do something
});

元の答え

Puppeteer の API を使用すると、これが非常に簡単になります。

page.on('request', request => {
  if (request.resourceType === 'XHR')
    // do something
});

を使用してリクエストをインターセプトすることもできますがsetRequestInterception、この例では、リクエストを変更しない場合は必要ありません。

適応できる画像リクエストをインターセプトする例があります。

resourceTypes はここで定義されます。

于 2017-09-06T22:02:28.390 に答える