Đầu năm nay, chúng tôi đã thông báo về việc cung cấp chế độ Không có giao diện người dùng mới của Chrome (--headless=new
) trong Chrome 112. Chế độ này cho phép nhà phát triển chạy Chrome trong môi trường không được giám sát mà không hiển thị giao diện người dùng nào. Chế độ này rất hữu ích cho các trường hợp sử dụng kiểm thử và tự động hoá.
Trong thông báo này, chúng tôi có đề cập đến kế hoạch xoá chế độ Không có giao diện người dùng cũ khỏi tệp nhị phân của Chrome. Việc loại bỏ này là hợp lý, vì về mặt kỹ thuật, Headless là một trình duyệt riêng biệt, nghĩa là chúng tôi hiện đang chuyển hai tệp nhị phân của trình duyệt vào cùng một. Đồng thời, chúng tôi cũng xác nhận rằng có các trường hợp sử dụng riêng biệt cho chế độ Không có giao diện người dùng cũ và mới:
- Chế độ Không có giao diện người dùng cũ là một trình bao bọc gọn nhẹ xung quanh mô-đun
//content
của Chromium. Do đó, chế độ này có ít phần phụ thuộc hơn đáng kể. Cụ thể, trình duyệt này không cần có X11/Wayland, D-Bus và có hiệu suất cao hơn trình duyệt Chrome hoàn chỉnh về một số mặt. Điều này làm cho ứng dụng phù hợp với các trường hợp sử dụng như tự động chụp ảnh màn hình hoặc cóp nhặt trên web. - Mặt khác, Headless mới là trình duyệt Chrome thực sự, do đó xác thực hơn, đáng tin cậy hơn cũng như cung cấp nhiều tính năng hơn. Điều này giúp công cụ này phù hợp hơn cho việc kiểm thử ứng dụng web toàn diện hoặc tiện ích trình duyệt có độ chính xác cao.
Nói cách khác, giữa hiệu suất và tính chân thực sẽ phải đánh đổi. Chế độ không có giao diện người dùng nào phù hợp nhất với bạn? Việc này tuỳ thuộc vào trường hợp sử dụng của bạn.
Những nhà phát triển và người kiểm thử không cần chức năng Chrome đầy đủ cho các trường hợp sử dụng tính năng tự động hoá của họ có thể sử dụng Headless cũ. Nếu không, Không có giao diện người dùng mới có thể là lựa chọn tốt nhất.
Để đảm bảo nhà phát triển và người kiểm thử tiếp tục có lựa chọn giữa hai lựa chọn này, chúng tôi vui mừng thông báo rằng phương thức triển khai Headless cũ hiện đã có dưới dạng tệp nhị phân chrome-headless-shell
độc lập. Những tệp nhị phân chrome-headless-shell
mới này được tạo cho mọi bản phát hành Chrome dành cho người dùng và có thể tải xuống được thông qua cơ sở hạ tầng Chrome for Testing kể từ Chrome 120.
Làm cách nào để tải tệp nhị phân chrome-headless-shell
?
Giống như với các tệp nhị phân khác của Chrome for Testing, cách dễ nhất để tải chrome-headless-shell
xuống cho nền tảng của bạn là sử dụng tiện ích dòng lệnh @puppeteer/browsers
dành cho nền tảng npm
. Dưới đây là một số ví dụ:
# 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
Nếu bạn muốn tạo tập lệnh tự động của riêng mình để tải tệp nhị phân chrome-headless-shell
xuống, chúng tôi sẽ giúp bạn. Chrome for Testing cung cấp các điểm cuối API JSON với các phiên bản mới nhất hiện có cho mỗi kênh phát hành Chrome (Ổn định, Beta, Dev và Canary). Để xem nhanh thông tin tổng quan về trạng thái mới nhất, hãy tham khảo trang tổng quan về phạm vi cung cấp Chrome for Testing.
Phản hồi
Chúng tôi rất mong nhận được ý kiến phản hồi của bạn về chrome-headless-shell
. Nếu bạn gặp bất kỳ vấn đề nào, vui lòng báo cáo vấn đề đó.