ドキュメントブラウザーと CrawlAgent Browserセッションの再生

セッションリプレイ

セッションリプレイは、実行されたアクションやネットワークリクエストを確認する手段を提供します。この機能により、記録されたセッションを再生でき、実行されたアクションやネットワークリクエストをページごとに詳細に検証できます。

利点

✅ リアルタイム記録 – スクリプト実行中にすべてのネットワークリクエストを自動的に記録

✅ フレームごとの再生 – ブラウザ操作を正確に再現

✅ チームでのコラボレーション – セッション記録を簡単に共有して、チームでのデバッグが可能

✅ ミリ秒単位の精度 – イベントレベルのタイムスタンプを確認し、スクリプトの調整をより精緻に

✅ セキュアな分離 – セッションデータは暗号化され、細かなアクセス制御によって保護

✅ 軽量なフォーマット – rrwebによるDOM差分技術により、記録ファイルは動画ファイルに比べて90%小さい

使い方

Scrapelessブラウザセッションを作成

タイプ1:Playgroundでセッション記録を作成

Playgroundでは、パラメータ設定によりデフォルトでセッション記録が有効になっています。

image1.png

Playgroundの設定でセッション記録を有効化することもできます。 ただし、 Playgroundの設定を使用 オプションを有効にすると、Playgroundコード内の接続パラメータが上書きされることに注意してください。

image2.png

設定後、 「Run」 をクリックして記録を開始します。

タイプ2:APIを使用してセッション記録を作成

他のプロジェクトでもAPIを通じてセッション機能を接続でき、コード内でセッションパラメータを設定できます。

記録を有効化するには、クエリパラメータ sessionRecording を trueに設定してください。デフォルト値は falseです。また、 sessionName パラメータを使用してセッション名を指定すれば、セッション一覧で素早く該当セッションを検索しやすくなります。

image3.png

詳細なドキュメントについては、以下のリンクを参照してください: Scraping Browser APIDocs。コード例は以下の通りです:

const { Scrapeless } = require('@scrapeless-ai/sdk');
const puppeteer =require('puppeteer-core');
const client = new Scrapeless({ apiKey: 'API Key' });
 
// custom fingerprint
const fingerprint = {
    platform: 'Windows',
}
 
// Create browser session and get WebSocket endpoint
const { browserWSEndpoint } = client.browser.create({
    sessionName: 'sdk_test',
    sessionTTL: 180,
    proxyCountry: 'US',
    sessionRecording: true,
    fingerprint,
});
 
(async () => {
    const browser = await puppeteer.connect({browserWSEndpoint});
    const page = await browser.newPage();
 
    await page.goto('https://www.scrapeless.com');
    await new Promise(res => setTimeout(res, 3000));
 
    await page.goto('https://www.google.com');
    await new Promise(res => setTimeout(res, 3000));
 
    await page.goto('https://www.youtube.com');
    await new Promise(res => setTimeout(res, 3000));
 
    await browser.close();
})();

リプレイを表示

ブラウザの実行が終了すると、セッション記録は自動的に保存されます。セッション履歴一覧をクリックして確認してください。

image4.gif

制限事項

💡 セッション記録は、ブラウザ内でのユーザーの視覚的体験にのみ焦点を当てており、基盤となるサーバーの活動、データベースとのやり取り、ページ構造(DOM)に反映されない技術的な変更などは含まれません。

💡 WebGLやcanvasなどの技術で構築された複雑なアニメーションは、セッション記録で完全に正確に再現されない場合があります。