ブラウザー / 中級 / 読了目安:15分
REA のブラウザー解析:エクスポート後に何が起きる?
REA でブラウザーのエクスポート操作を調査。通信と読み込まれたコードを結び付け、サーバーを使わずページ内でダウンロードを生成する場合を見分けます。
このページの内容
エクスポート操作と、観測した通信またはクライアント側のダウンロード経路を結ぶ小さな時系列記録。
必要なもの独立したデバッグ用プロファイルの Chromium ブラウザー、自分が管理するページ、REA。掲載の起動コマンドは macOS の Chrome 用です。
01. 独立したブラウザーセッションを開く
別のデバッグ用プロファイルでローカルアプリを開きます。対象ページとテストデータが明確になります。末尾の URL は自分のローカルアプリに置き換えてください。Windows や Linux では、それぞれの Chrome 実行ファイルを使います。
デバッグ用エンドポイントはブラウザー制御の接続先で、アプリの URL とは別です。ループバックアドレスを直接指定し、REA が返したターゲット ID を使ってください。
"/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" \
--remote-debugging-port=9222 \
--user-data-dir=/tmp/rea-export-profile \
http://127.0.0.1:300002. 対象のページを正確に選ぶ
ターゲット一覧からアプリの URL を見つけ、ターゲット ID をコピーします。実験の前にそのページを調べてください。タブが再読み込み・置換された場合は古い ID を再利用せず、一覧を取り直します。
npx -y rea-agents@6.4.0 list-browser-targets http://127.0.0.1:9222 --json
npx -y rea-agents@6.4.0 inspect-web-page http://127.0.0.1:9222 TARGET_ID --observation-ms 1000 --json03. 通常時を記録してから1回エクスポートする
まず短い待機時間を記録し、バックグラウンドのポーリングを確認します。次に2回目の観測を開始し、観測期間内に自分でエクスポートをクリックしてください。REA の受動的な観測機能が代わりにボタンを押すことはありません。
入力は、固有のテストラベルを持つ2行など、小さく見分けやすいものにします。スピナー表示、ファイルのダウンロード、エラーの有無を記録してください。新しい通信がすべてエクスポート由来と決め付けず、2回の記録を比較します。
npx -y rea-agents@6.4.0 observe-web-session http://127.0.0.1:9222 TARGET_ID --observation-ms 10000 --json > export-capture.json- 操作の後にリクエストが始まるか?
- メソッド、URL、報告されたステータスは何か?
- 開始元や読み込まれたスクリプトからボタンとの関係を示せるか?
- ファイルは実際に生成され、テスト用の行を含んでいるか?
04. 通信がない場合はクライアント側を調べる
JavaScript で Blob を作り、サーバーへ通信せずにダウンロードする実装もあります。空の通信一覧は有用な手がかりであり、取得失敗の証明ではありません。読み込まれたスクリプトで、対象機能の Blob、createObjectURL、download 属性を探してください。
バンドル解析が示すのは静的な候補です。エンドポイントらしい文字列があっても、呼び出された証拠にはなりません。通信の観測結果とソースの発見を別の列で管理します。
npx -y rea-agents@6.4.0 analyze-web-bundle http://127.0.0.1:9222 TARGET_ID --json選択したページとこのエクスポート記録を使い、サーバーが生成するファイルを要求するのか、ブラウザー内でファイルを作るのか説明してください。観測した動作を関連する読み込み済みコードに結び付け、不足する根拠を示します。メタデータだけからレスポンス内容を推測しないでください。05. 扱いづらい入力でも繰り返す
カンマ、引用符、改行を含む行をエクスポートします。テキストエディターだけでなく、その形式のパーサーで出力を開いてください。ダウンロードの成功だけでは、正しいエンコードを証明できません。
操作の時系列、選択したリクエストまたはクライアント関数、ファイルの検証結果をまとめます。これは自分の対象で再現できる手順であり、記事に第三者サービスの取得済みセッションは含まれていません。
コマンドは REA 6.4.0 で確認済みです。対象固有の結果は、ファイルとプロバイダーに依存します。 元の資料と対象範囲を読む →