Apa yang terjadi saat Anda mengklik Ekspor?
The Contoh peramban catatan memiliki Ekspor catatan tombol. Mengkliknya akan memuat notes.json, memformat dua catatan sebagai CSV, dan memulai pengunduhan.
Dari klik ke unduhan CSV
- 01 * KamuKlik Ekspor catatanLakukan tindakan di browser Anda saat pengambilan sedang berjalan.
- 02 * REA Catat permintaannyaTangkap URL permintaan, status respons, dan struktur JSON dari halaman yang dipilih.
-
03 * Agen AndaBaca kode eksporHubungkan permintaan yang diamati ke
fetch("./notes.json")dalamexport.js.
GET notes.json → 200 → notes[] → CSV
Buka Chrome dengan debugging jarak jauh
Buka contoh Catatan yang dihosting dengan profil browser terpisah dan port debugging lokal. Di Linux :
google-chrome \
--remote-debugging-port=9222 \
--user-data-dir=/tmp/rea-notes-browser \
https://rea.tools/examples/notes-web/
Gunakan jalur eksekusi browser yang Anda instal di macOS atau Windows . Anda dapat mengganti URL halaman dengan halaman lain yang ingin Anda periksa.
REA terhubung ke browser yang ada ini. Anda tetap mengontrol halaman, melakukan tindakan, dan menutup browser setelah selesai.
Minta agen Anda untuk menonton satu aksi
Gunakan REA untuk memeriksa halaman ini saat saya mengklik Ekspor catatan. Permintaan apa yang dibuatnya, dan bagaimana CSV dibuat?
Contoh prompt. Berikan agen Anda titik akhir debugging, http://127.0.0.1:9222, dan URL halaman. Biarkan mulai menangkap sebelum Anda mengklik.
Agen Anda menemukan target halaman, memulai jendela observasi, dan membaca bukti yang dihasilkan. Itu kemudian dapat memeriksa skrip di balik ekspor.
Atau tangkap dari terminal
Temukan ID target halaman:
npx -y rea-agents@latest list-browser-targets \
http://127.0.0.1:9222 --json
Pilih target dengan URL contoh Catatan. Ganti TARGET_ID di bawah ini dengan ID - nya, lalu jalankan:
npx -y rea-agents@latest inspect-web-page \
http://127.0.0.1:9222 TARGET_ID \
--observation-ms 10000 \
--include-accessibility-text \
--include-json-body-shapes --json
Biarkan perintah terhubung selama beberapa detik, lalu klik Ekspor catatan pada browser tersebut. Hasilnya tiba setelah jendela observasi berakhir.
Hasil yang diambil mencakup halaman yang dipilih, aktivitas jaringan selama jendela tersebut, dan bentuk respons JSON. Permintaan sebelumnya berada di luar tangkapan ini.
Baca skrip permintaan dan ekspor
| Fakta yang ditangkap | Nilai |
|---|---|
| Permintaan | GET /examples/notes-web/notes.json |
| Tanggapan | 200 · application/json |
| Inisiator permintaan | export.js * naskah |
| Struktur respons |
notes[] dengan id dan title bidang
|
npx -y rea-agents@latest inspect-web-page \
http://127.0.0.1:9222 TARGET_ID \
--include-script-sources --json
Permintaan mengidentifikasi sumber data, dan catatan REA export.js sebagai inisiatornya. Baca sumber skrip yang diambil untuk melihat bagaimana data digunakan:
const response = await fetch("./notes.json");
const { notes } = await response.json();
// Format each note as a CSV row.
const url = URL.createObjectURL(new Blob([csv], { type: "text/csv" }));
link.href = url;
link.download = "notes.csv";
link.click();
Unduhan dibuat di halaman menggunakan respons JSON. Langkah pemformatan CSV berasal dari skrip; pengambilan jaringan menetapkan bahwa klik ini diminta notes.json.
Buka contohnya · Unduh export.js · Unduh notes.json
Temukan skrip yang meminta
notes.json. Bagaimana cara menghindari judul yang mengandung koma atau tanda kutip?
Untuk aplikasi JavaScript atau Electron yang diinstal, lanjutkan dengan alur kerja aplikasi untuk mengikuti file dan batasan proses.