ببینید چه اتفاقی می افتد
وقتی کلیک می کنید.

از یک برنامه مرورگر کوچک برای اتصال یک عمل ، درخواست شبکه آن و JavaScript که یک بارگیری ایجاد می کند استفاده کنید.

وقتی روی Export کلیک می کنید چه اتفاقی می افتد ؟

این یادداشت مثال مرورگر دارای یک یادداشت های صادراتی دکمه. با کلیک بر روی آن بارگذاری می شود notes.json، دو یادداشت را به عنوان CSV فرمت می کند و شروع به دانلود می کند.

از کلیک تا دانلود CSV

  1. 01 * شماروی یادداشت های صادرات کلیک کنیدعمل را در مرورگر خود انجام دهید در حالی که ضبط در حال اجرا است.
  2. 02 * REA ثبت درخواستCapturel درخواست ، وضعیت پاسخ و ساختار JSON را از صفحه انتخاب شده ضبط کنید.
  3. 03 * نماینده شماکد صادرات را بخوانیددرخواست مشاهده شده را به fetch("./notes.json") در export.js.

GET notes.json → 200 → notes[] → CSV

قبل از کلیک بر روی یادداشت های صادرات ، ضبط را شروع کنید.

Chrome را با اشکال زدایی از راه دور باز کنید

مثال یادداشت های میزبان را با یک پروفایل مرورگر جداگانه و یک پورت اشکال زدایی محلی باز کنید. در Linux :

مرورگر مثال را شروع کنید
google-chrome \
  --remote-debugging-port=9222 \
  --user-data-dir=/tmp/rea-notes-browser \
  https://reverseengineeranything.app/examples/notes-web/

از مسیر اجرایی مرورگر نصب شده خود در macOS یا Windows استفاده کنید . شما می توانید URL صفحه را با صفحه دیگری که می خواهید بازرسی کنید جایگزین کنید.

REA به این مرورگر موجود متصل می شود. شما کنترل صفحه را حفظ می کنید ، عمل را انجام می دهید و مرورگر را پس از اتمام بسته می کنید.

از مامور خود بخواهید که یک عمل را تماشا کند

عامل برنامه نویسی شما

از REA برای بازرسی این صفحه استفاده کنید در حالی که من روی یادداشت های صادرات کلیک می کنم. چه درخواستی دارد و CSV چگونه ساخته می شود ؟

مثال سریع. به نماینده خود نقطه پایان اشکال زدایی را بدهید, http://127.0.0.1:9222، و URL صفحه. بگذارید قبل از کلیک ضبط را شروع کند.

نماینده شما هدف صفحه را کشف می کند ، یک پنجره مشاهده را شروع می کند و شواهد حاصل را می خواند. سپس می تواند اسکریپت پشت صادرات را بررسی کند.

یا از ترمینال ضبط کنید

شناسه هدف صفحه را پیدا کنید:

صفحه را پیدا کنید
npx -y rea-agents@latest list-browser-targets \
  http://127.0.0.1:9222 --json

هدف را با Notesl مثال یادداشت ها انتخاب کنید. جایگزین کنید TARGET_ID در زیر با ID آن ، سپس اجرا:

ده ثانیه ی بعد رو ضبط کن
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

اجازه دهید دستور برای چند ثانیه متصل شود ، سپس روی یادداشت های صادراتی در اون مرورگر نتیجه پس از پایان پنجره مشاهده می رسد.

نتیجه گرفته شده شامل صفحه انتخاب شده ، فعالیت شبکه در طول آن پنجره و شکل پاسخ JSON است. درخواست های قبلی خارج از این دستگیری است.

درخواست و اسکریپت صادرات را بخوانید

با REA 4.1.0 در مثال یادداشت های محلی ضبط شده است
واقعیت ثبت شده ارزش
درخواست GET /examples/notes-web/notes.json
پاسخ 200 · application/json
درخواست آغازگر export.js * اسکریپت
ساختار پاسخ notes[] با id و title رشته ها
اسکریپت های لود شده را بخوانید
npx -y rea-agents@latest inspect-web-page \
  http://127.0.0.1:9222 TARGET_ID \
  --include-script-sources --json

درخواست منبع داده و سوابق REA را شناسایی می کند export.js به عنوان آغازگر آن. منبع اسکریپت ضبط شده را بخوانید تا ببینید که چگونه از داده ها استفاده می شود:

export.js * نمونه منبع گزیده
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();

دانلود در صفحه با استفاده از پاسخ JSON ساخته شده است. مرحله قالب بندی CSV از اسکریپت می آید ؛ ضبط شبکه ثابت می کند که این کلیک درخواست شده است notes.json.

مثال را باز کنید · دانلود فیلم export.js · دانلود فیلم notes.json

اسکریپت مورد نظر را پیدا کنید notes.json. چگونه از عناوین حاوی کاما یا علامت نقل قول فرار می کند ؟

برای نصب JavaScript یا Electron برنامه ، ادامه با گردش کار برنامه برای دنبال کردن فایل ها و پردازش مرزهای.

بالا