Các cờ dòng lệnh sau đây có trong chế độ Không có giao diện người dùng và trong Headless Shell.
--dump-dom
Cờ --dump-dom in DOM được chuyển đổi tuần tự của trang đích ra stdout.
Ví dụ:
chrome --headless --dump-dom https://developer.chrome.com/
Thao tác này khác với việc in mã nguồn HTML mà bạn có thể thực hiện bằng curl. Để mang đến cho bạn kết quả của --dump-dom, trước tiên, Chrome sẽ phân tích cú pháp mã HTML thành một DOM, thực thi mọi <script> có thể làm thay đổi DOM, sau đó chuyển DOM đó trở lại thành một chuỗi HTML được chuyển đổi tuần tự.
--screenshot
Cờ --screenshot chụp ảnh màn hình của trang đích và lưu dưới dạng screenshot.png trong thư mục đang hoạt động. Điều này đặc biệt hữu ích khi kết hợp với cờ --window-size.
Ví dụ:
chrome --headless --screenshot --window-size=412,892 https://developer.chrome.com/
--print-to-pdf
Cờ --print-to-pdf sẽ lưu trang đích dưới dạng tệp PDF có tên là output.pdf trong thư mục đang hoạt động. Ví dụ:
chrome --headless --print-to-pdf https://developer.chrome.com/
Nếu muốn, bạn có thể thêm cờ --no-pdf-header-footer để bỏ qua phần đầu trang (có ngày và giờ hiện tại) và chân trang (có URL và số trang) khi in.
chrome --headless --print-to-pdf --no-pdf-header-footer https://developer.chrome.com/
--timeout
Cờ --timeout xác định thời gian chờ tối đa (tính bằng mili giây) sau đó nội dung của trang sẽ được --dump-dom, --screenshot và --print-to-pdf ghi lại ngay cả khi trang vẫn đang tải.
chrome --headless --print-to-pdf --timeout=5000 https://developer.chrome.com/
Cờ --timeout=5000 yêu cầu Chrome đợi tối đa 5 giây trước khi in tệp PDF. Do đó, quy trình này mất tối đa 5 giây để chạy.
--virtual-time-budget
--virtual-time-budget hoạt động như một nút "tua đi" cho mọi mã phụ thuộc vào thời gian (ví dụ: setTimeout/setInterval). Nút này buộc trình duyệt thực thi mọi mã của trang nhanh nhất có thể trong khi làm cho trang tin rằng thời gian thực sự trôi qua.
Để minh hoạ cách sử dụng, hãy xem xét bản minh hoạ này. Bản minh hoạ này tăng, ghi nhật ký và hiển thị một bộ đếm mỗi giây bằng cách sử dụng setTimeout(fn, 1000). Sau đây là mã có liên quan:
<output>0</output>
<script>
const element = document.querySelector('output');
let counter = 0;
setInterval(() => {
counter++;
console.log(counter);
element.textContent = counter;
}, 1_000);
</script>
Sau một giây, trang này sẽ chứa "1"; sau hai giây, "2", v.v. Sau đây là cách bạn chụp trạng thái của trang sau 42 giây và lưu trạng thái đó dưới dạng tệp PDF:
chrome --headless --print-to-pdf --virtual-time-budget=42000 https://mathiasbynens.be/demo/time
--allow-chrome-scheme-url
Bạn phải dùng cờ --allow-chrome-scheme-url để truy cập vào các URL chrome://. Cờ này có trong Chrome 123. Ví dụ:
chrome --headless --print-to-pdf --allow-chrome-scheme-url chrome://gpu