جٹ-براؤزر جٹ-4 پلیٹ فارم کا حصہ EN-CA |

ہیڈلیس کروم 101: جِٹ-براؤزر کیسے کروم کو ایک مکمل ملٹی-فنکشن براؤزر–سرور-براؤزر لیئر میں تبدیل کرتا ہے

یہ ایک سادہ زبان میں وضاحت ہے کہ جِٹ-براؤزر ہیڈلیس کروم کے ساتھ کیا کرتا ہے، یہ کس طرح ملکیتی جِٹ-ٹی آر رن ٹائم کا استعمال کرتا ہے، اور اسے صرف ایک اور اسکرپٹ کی بجائے ایک اعلیٰ درجے کی براؤزر خصوصیت بنانے کے لیے کیا ابھی بھی درکار ہے۔

ایک سادہ اسکرین شاٹ ٹول سے جِٹ-براؤزر تک

ہم نے ایک چھوٹے کمانڈ لائن ٹول سے آغاز کیا: getpage https://example.com page.png. یہ کروم کو ایک ڈاکر کنٹینر میں چلاتا، پیج سے رینڈر کردہ example.com کا اسکرین شاٹ لیتا، اور باہر نکل جاتا۔

مفید تصور کا ثبوت۔ ہر کال ایک کولڈ اسٹارٹ تھی۔ اسے ترجمہ، سیشنز، یا حالت کے بارے میں کچھ معلوم نہیں تھا۔ یہ صرف ایک ہیڈلیس کیمرہ تھا۔

جِٹ-براؤزر اگلا قدم ہے۔ یہ اب بھی حقیقی کروم کا استعمال کرتا ہے، لیکن اب:

  • یہ پیج کے اندر کیا ہوتا ہے اس کا لاگ بناتا ہے۔
  • یہ جِٹ-ٹی آر اسکرپٹ کو ایک ترجمہ لیئر کے طور پر انجیکٹ کرتا ہے۔
  • یہ کوکی بینرز یا ڈراپ ڈاؤنز جیسے سادہ فلو کو فالو کر سکتا ہے۔
  • یہ مکمل ترجمہ شدہ HTML کو کیپچر کرتا ہے، نہ کہ صرف ایک اسکرین شاٹ۔

یہ صفحہ اس پائپ لائن کی وضاحت کرتا ہے تاکہ آپ دیکھ سکیں کہ ہم ہاتھ نہیں ہلا رہے ہیں۔ ہم دکھا رہے ہیں کہ براؤزر سطح کی کثیر لسانی لیئر حقیقت میں کیسے کام کر سکتی ہے۔

جِٹ-براؤزر پائپ لائن 6 مراحل میں

اعلی سطح پر، ہر کیپچر ایک ہی ترتیب کی پیروی کرتا ہے۔

  1. ڈاکر کے اندر حقیقی کروم (ہیڈلیس) لانچ کریں۔
    ہم پپٹیئر (pptr.dev) کا استعمال کرتے ہیں تاکہ وہی انجن شروع کیا جا سکے جو عام براؤزرز کو طاقت دیتا ہے، لیکن بغیر کسی نظر آنے والی ونڈو کے۔ کوئی کسٹم پارسر نہیں، کوئی جعلی رینڈرنگ نہیں۔
  2. کوکیز یا لاگ ان حالت کا اطلاق کریں (اگر ترتیب دی گئی ہو)۔
    ان ڈیموز کے لیے جنہیں لاگ ان سیشن کی ضرورت ہوتی ہے، ہم آپ کی کوکیز کو دوبارہ چلاتے ہیں۔ کوئی بروٹ فورس نہیں، کوئی پاس ورڈ گیسنگ نہیں، کوئی ایسے اکاؤنٹس کو اسکریپ نہیں کرتے جنہیں ہم کنٹرول نہیں کرتے۔
  3. ہدف صفحہ کو بالکل ایک صارف کی طرح لوڈ کریں۔
    HTML، CSS، جاوا اسکرپٹ، فونٹس، تصاویر۔ ہم انتظار کرتے ہیں networkidle2 (https://pptr.dev/api/puppeteer.page.waitfornetworkidle) تاکہ سست بنڈلز اور فونٹس لوڈنگ مکمل کر سکیں۔
  4. جِٹ-ٹی آر اسنیپٹ کو ایک لیئر کے طور پر انجیکٹ کریں۔
    ہم اپنے پیٹنٹ زیر التواء رن ٹائم کوڈ کی طرف اشارہ کرنے والا ایک اسکرپٹ ٹیگ شامل کرتے ہیں – مثال کے طور پر: