جیت-مرورگر بخشی از پلتفرم Jit-4 EN-CA |

HeadlessChrome101: چگونه Jit-Browser کروم را به یک مرورگر چندمنظوره کامل تبدیل می‌کند–لایه مرورگر-سرور

این یک راهنمای ساده به زبان است که توضیح می‌دهد Jit-Browser با کروم بدون سر، چه کارهایی انجام می‌دهد، چگونه از زمان‌اجرای اختصاصی Jit-TR استفاده می‌کند و چه چیزهایی هنوز لازم است تا این ویژگی مرورگر به یک ویژگی درجه یک تبدیل شود و فقط یک اسکریپت دیگر نباشد.

از یک ابزار ساده اسکرین‌شات تا Jit-Browser

ما با یک ابزار کوچک خط فرمان شروع کردیم: getpage https://example.com page.png. این ابزار کروم را در یک کانتینر داکر راه‌اندازی کرد، از نمونه‌کار example.com اسکرین‌شات گرفت و خارج شد.

مدل مفهومی مفید. هر تماس یک شروع سرد بود. هیچ چیزی درباره ترجمه، نشست‌ها یا وضعیت نمی‌دانست. فقط یک دوربین بدون سر بود.

Jit-Browser مرحله بعدی است. هنوز از کروم واقعی استفاده می‌کند، اما اکنون:

  • آنچه در داخل صفحه اتفاق می‌افتد را ثبت می‌کند.
  • اسکریپت Jit-TR را به عنوان یک لایه ترجمه تزریق می‌کند.
  • می‌تواند جریان‌های ساده‌ای مانند بنرهای کوکی یا منوهای کشویی را دنبال کند.
  • HTML کاملاً ترجمه شده را ضبط می‌کند، نه فقط یک اسکرین‌شات.

این صفحه آن خط لوله را توضیح می‌دهد تا شما ببینید که ما فقط در حال دست‌کاری نیستیم. ما نشان می‌دهیم که چگونه یک لایه چندزبانه در سطح مرورگر می‌تواند واقعاً کار کند.

خط لوله Jit-Browser در 6 مرحله

در سطح بالا، هر ضبط همان توالی را دنبال می‌کند.

  1. کروم واقعی (بدون سر) را در داکر راه‌اندازی کنید.
    ما از Puppeteer (pptr.dev) برای شروع همان موتور که مرورگرهای عادی را قدرت می‌دهد، استفاده می‌کنیم، اما بدون یک پنجره قابل مشاهده. هیچ تجزیه‌گر سفارشی، هیچ رندرینگ جعلی.
  2. کوکی‌ها یا وضعیت ورود (اگر پیکربندی شده باشد) را اعمال کنید.
    برای دموهایی که به یک نشست وارد شده نیاز دارند، کوکی‌های شما را دوباره پخش می‌کنیم. هیچ نیروی بی‌رحمانه، هیچ حدس رمز عبور، هیچ جمع‌آوری حساب‌هایی که کنترل نمی‌کنیم.
  3. صفحه هدف را دقیقاً مانند یک کاربر بارگذاری کنید.
    HTML، CSS، جاوااسکریپت، فونت‌ها، تصاویر. ما منتظر می‌مانیم برای networkidle2 (https://pptr.dev/api/puppeteer.page.waitfornetworkidle) تا بسته‌های کند و فونت‌ها بارگذاری شوند.
  4. قطعه Jit-TR را به عنوان یک لایه تزریق کنید.
    ما یک تگ اسکریپت اضافه می‌کنیم که به کد زمان‌اجرای در حال ثبت اختراع ما اشاره می‌کند – به عنوان مثال: