הורדת Chrome הישן ללא ממשק גרפי כגרסה ללא דפדפן GUI

מוקדם יותר השנה הודענו על הזמינות של המצב החדש של דפדפן Chrome ללא ממשק גרפי (--headless=new) בגרסה 112 של Chrome. המצב הזה מאפשר למפתחים להפעיל את Chrome בסביבה ללא השגחה וללא ממשק משתמש גלוי. מצב זה שימושי לתרחישים לדוגמה ולבדיקה של אוטומציה.

כחלק מההודעה הזו, הזכרנו את התוכניות שלנו להסיר את המצב הישן של Headless מהקובץ הבינארי של Chrome. יש היגיון להסיר את התוכן הזה, מכיוון שדפדפן Headless הישן הוא דפדפן נפרד מבחינה טכנית. המשמעות היא שאנחנו שולחים כרגע שני קבצים בינאריים של דפדפנים בדפדפן אחד. עם זאת, ברור לנו שיש תרחישים שונים לשימוש בגרסה הישנה של מצב 'דפדפן ללא GUI' ובמצב החדש:

  1. מצב 'דפדפן ללא GUI' הישן הוא wrapper פשוט סביב המודול //content של Chromium, ולכן יש בו הרבה פחות יחסי תלות. באופן ספציפי, גרסה זו לא דורשת X11/Wayland, D-Bus, ובמובן מסוים, הביצועים שלו טובים יותר מדפדפן Chrome עם הגרסה המלאה. לכן היא מתאימה לתרחישים לדוגמה כמו צילום מסך אוטומטי או גירוד נתונים באינטרנט.
  2. לעומת זאת, New Headless הוא דפדפן Chrome האמיתי, ולכן הוא יותר אותנטי ואמין יותר ומציע יותר תכונות. לכן היא מתאימה יותר לבדיקות של אפליקציות אינטרנט מקצה לקצה או לבדיקות של תוספים לדפדפן ברמת דיוק גבוהה.

במילים אחרות, יש איזון בין ביצועים לבין אותנטיות. איזה מצב 'דפדפן ללא GUI' הכי מתאים לך? זה תלוי בתרחיש לדוגמה שלכם.

תרשים שמתאר את המידע שצוין ברשימה הקודמת.

מפתחים ובודקים שלא זקוקים לפונקציונליות המלאה של Chrome לצורך תרחישי אוטומציה עשויים לרצות להשתמש בגרסה הישנה של Headless. אחרת, סביר להניח שהגרסה החדשה של Headless היא האפשרות הטובה ביותר.

כדי להבטיח שהמפתחים והבודקים עדיין יוכלו לבחור מבין שתי האפשרויות האלה, אנחנו שמחים להודיע שההטמעה הישנה של Headless זמינה עכשיו כגרסה בינארית עצמאית של chrome-headless-shell. הקבצים הבינאריים החדשים האלה של chrome-headless-shell נוצרים עבור כל גרסה של Chrome המוצגת למשתמשים, והם זמינים להורדה דרך התשתית של Chrome for Testing החל מ-Chrome 120.

איך מקבלים קבצים בינאריים של chrome-headless-shell?

בדומה לקבצים בינאריים אחרים של Chrome for Testing, הדרך הקלה ביותר להוריד את chrome-headless-shell לפלטפורמה היא באמצעות כלי שורת הפקודה @puppeteer/browsers, שזמין באמצעות npm. ריכזנו כאן כמה דוגמאות:

# Download the latest available `chrome-headless-shell` binary corresponding to the Stable channel.
npx @puppeteer/browsers install chrome-headless-shell@stable

# Download a specific `chrome-headless-shell` version.
npx @puppeteer/browsers install chrome-headless-shell@120.0.6098.0

אם ברצונך לפתח סקריפטים אוטומטיים משלך להורדת קבצים בינאריים של chrome-headless-shell, נשמח לעזור. Chrome for Testing מציע נקודות קצה של API ל-JSON עם הגרסאות העדכניות ביותר לכל ערוץ הפצה של Chrome (יציב, בטא, Dev ו-Canary). כדי לקבל סקירה כללית מהירה של הסטטוס העדכני ביותר, אפשר לעיין במרכז הבקרה לזמינות של Chrome for Testing.

משוב

אנחנו מצפים לקבל את המשוב שלך על chrome-headless-shell. נתקלתם בבעיות? אפשר לדווח עליהן.