ჯიტ-ბრაუზერი ჯიტ-4 პლატფორმის ნაწილი EN-CA |

HeadlessChrome101: როგორ Jit-Browser აქცევს Chrome-ს სრულ მრავალფუნქციურ ბრაუზერად–სერვერ-ბრაუზერის ფენა

ეს არის მარტივი ენის გასავლელი იმაზე, რაც Jit-Browser აკეთებს headless Chrome-თან, როგორ იყენებს ის საკუთრებას Jit-TR runtime-ს და რა არის საჭირო, რომ ეს იყოს პირველი კლასის ბრაუზერის ფუნქცია, უბრალოდ კიდევ ერთი სკრიპტის ნაცვლად.

განვითარებული სკრინშოტის ინსტრუმენტიდან Jit-Browser-ისკენ

ჩვენ დავიწყეთ პატარა ბრძანების ხაზის ინსტრუმენტით: getpage https://example.com page.png. მან Chrome აამუშავა Docker კონტეინერში, გადაიღო სკრინშოტი rendered example.com-დან გვერდიდან და გამოვიდა.

სარგებლიანი კონცეფციის მტკიცებულება. ყოველი ზარი იყო ცივი დაწყება. მას არაფერი იცოდა თარგმნის, სესიების ან მდგომარეობის შესახებ. ეს იყო უბრალოდ headless კამერა.

Jit-Browser არის შემდეგი ნაბიჯი. ის კვლავ იყენებს ნამდვილ Chrome-ს, მაგრამ ახლა:

  • ის რეგისტრირებს, რაც ხდება გვერდის შიგნით.
  • ის Inject-ავს Jit-TR სკრიპტს როგორც თარგმნის ფენას.
  • ის შეუძლია გაწვდოს მარტივი ნაკადები, როგორიცაა ქუქი ბანერები ან ჩამოსაშლელი მენიუები.
  • ის იჭერს სრულად თარგმნილ HTML-ს, არა მხოლოდ სკრინშოტს.

ეს გვერდი განმარტავს იმ pipeline-ს, ასე რომ თქვენ შეგიძლიათ ნახოთ, რომ ჩვენ არ ვამბობთ უბრალოდ სიტყვებს. ჩვენ ვაჩვენებთ, როგორ შეიძლება ბრაუზერის დონეზე მრავალენოვანი ფენა რეალურად იმუშაოს.

Jit-Browser-ის pipeline 6 ნაბიჯში

მაღალი დონეზე, ყოველი დაჭერა მიჰყვება ერთსა და იმავე თანმიმდევრობას.

  1. გააშუქეთ რეალური Chrome (headless) Docker-ის შიგნით.
    ჩვენ ვიყენებთ Puppeteer-ს (pptr.dev), რომ დავიწყოთ იგივე ძრავა, რომელიც ამუშავებს ჩვეულებრივ ბრაუზერებს, მაგრამ უხილავი ფანჯრის გარეშე. არც ერთი სპეციალური parser, არც ერთი ყალბი რენდერინგი.
  2. გამოიყენეთ ქუქი ან შესვლის მდგომარეობა (თუ კონფიგურირებულია).
    დემოებისთვის, რომლებსაც სჭირდებათ შესული სესია, ჩვენ ვათამაშებთ თქვენს ქუქებს. არც ერთი ძალადობა, არც ერთი პაროლის გამოცდა, არც ერთი ანგარიშების სკრაპინგი, რომელსაც ჩვენ არ ვაკონტროლებთ.
  3. მიზნობრივი გვერდის დატვირთვა ზუსტად ისე, როგორც მომხმარებელი.
    HTML, CSS, JavaScript, შრიფტები, სურათები. ჩვენ ველოდებით networkidle2 (https://pptr.dev/api/puppeteer.page.waitfornetworkidle), ასე რომ ნელი პაკეტები და შრიფტები დასრულდეს დატვირთვა.
  4. Inject-ავს Jit-TR სკრიპტის ნაწილაკს როგორც ფენას.
    ჩვენ ვამატებთ სკრიპტის ტეგს, რომელიც მიუთითებს ჩვენს პატენტირებულ runtime კოდზე – მაგალითად: