เมื่อต้นปีนี้ เราได้ประกาศความพร้อมใช้งานโหมดไม่มีส่วนหัวใหม่ของ Chrome (--headless=new
) ใน Chrome 112 โหมดนี้ช่วยให้นักพัฒนาซอฟต์แวร์เรียกใช้ Chrome ในสภาพแวดล้อมที่ไม่มีผู้ดูแลได้โดยไม่ต้องมี UI ที่มองเห็นได้ ซึ่งมีประโยชน์สำหรับการทดสอบและ Use Case การทำงานอัตโนมัติ
ในประกาศครั้งนี้ เราได้พูดถึงแผนที่จะนำโหมดไม่มีส่วนหัวแบบเก่าออกจากไบนารีของ Chrome การนำออกนี้สมเหตุสมผลเนื่องจาก Headless เวอร์ชันเก่าเป็นเบราว์เซอร์ที่แยกต่างหากทางเทคนิค ซึ่งหมายความว่าขณะนี้เรากำลังจัดส่งไบนารีของเบราว์เซอร์ 2 รายการในเครื่องเดียว ในขณะเดียวกัน เราทราบว่าโหมดไม่มีส่วนหัวแบบเก่าและแบบใหม่มีกรณีการใช้งานที่แตกต่างกัน ดังนี้
- โหมดไม่มีส่วนหัวแบบเก่าคือ Wrapper ที่มีน้ำหนักเบารอบๆ โมดูล
//content
ของ Chromium ดังนั้นจึงมีการขึ้นต่อกันน้อยลงอย่างมาก โดยเฉพาะอย่างยิ่ง ไม่จำเป็นต้องใช้ X11/Wayland, D-Bus และมีประสิทธิภาพมากกว่าเบราว์เซอร์ Chrome ที่มีคุณสมบัติครบถ้วนในบางด้าน จึงเหมาะกับกรณีการใช้งานต่างๆ เช่น การถ่ายภาพหน้าจอโดยอัตโนมัติ หรือการทำสำเนาข้อมูลเว็บ - ส่วน Headless ใหม่ถือเป็นเบราว์เซอร์ Chrome ที่แท้จริง ดังนั้นจึงมีความน่าเชื่อถือ น่าเชื่อถือมากขึ้น รวมถึงมีฟีเจอร์เพิ่มเติม จึงเหมาะสําหรับการทดสอบเว็บแอปหรือการทดสอบส่วนขยายเบราว์เซอร์ที่แม่นยําสูงมากกว่า
กล่าวคือ ต้องแลกกันระหว่างประสิทธิภาพกับความเชื่อถือได้ โหมดไม่มีส่วนหัวใดที่เหมาะกับคุณที่สุด ขึ้นอยู่กับกรณีการใช้งานของคุณ
นักพัฒนาแอปและผู้ทดสอบที่ไม่ต้องการฟังก์ชันของ Chrome แบบเต็มรูปแบบสำหรับกรณีการใช้งานแบบอัตโนมัติอาจต้องการใช้ Headless แบบเก่า หากไม่เป็นเช่นนั้น ตัวเลือก "ไม่มีส่วนหัวใหม่" น่าจะเป็นตัวเลือกที่ดีที่สุด
เรายินดีที่จะประกาศว่าการใช้งานแบบไม่มีส่วนหัวแบบเก่าพร้อมให้ใช้งานเป็นไบนารี chrome-headless-shell
แบบสแตนด์อโลนแล้ว เพื่อให้มั่นใจว่านักพัฒนาแอปและผู้ทดสอบจะมีทางเลือกในระหว่าง 2 ตัวเลือกนี้ต่อไป ระบบจะสร้างไบนารี chrome-headless-shell
ใหม่เหล่านี้สำหรับ Chrome ทุกรุ่นที่แสดงต่อผู้ใช้ และพร้อมให้ดาวน์โหลดผ่านโครงสร้างพื้นฐานของ Chrome สำหรับการทดสอบตั้งแต่ Chrome 120 เป็นต้นไป
ฉันจะรับไบนารี 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 สำหรับการทดสอบมีปลายทาง JSON API ที่มีเวอร์ชันล่าสุดที่พร้อมใช้งานสำหรับแต่ละช่องทางการเผยแพร่ของ Chrome (เสถียร, เบต้า, Dev และ Canary) หากต้องการดูภาพรวมคร่าวๆ เกี่ยวกับสถานะล่าสุด โปรดดูแดชบอร์ดความพร้อมใช้งานของ Chrome สำหรับการทดสอบ
ความคิดเห็น
เราหวังว่าจะได้รับความคิดเห็นจากคุณเกี่ยวกับ chrome-headless-shell
หากพบปัญหา โปรดรายงานปัญหา