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

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

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

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

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

תרשים שממחיש את המידע שמופיע ברשימה שלמעלה.

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

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

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

כמו קובצי הבינארי האחרים של Chrome לבדיקה, הדרך הקלה ביותר להוריד את 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 (Stable,‏ Beta,‏ Dev ו-Canary). כדי לקבל סקירה כללית מהירה של הסטטוס העדכני, אפשר לעיין בלוח הבקרה של זמינות Chrome לבדיקה.

משוב

נשמח לקבל ממך משוב על chrome-headless-shell. אם נתקלתם בבעיות, אתם יכולים לדווח עליהן.