Referensi command line Chrome Headless

Peter Kvitek
Peter Kvitek

Flag command line berikut tersedia dalam mode Tanpa Browser dan di shell Tanpa Browser.

--dump-dom

Flag --dump-dom mencetak DOM serial target halaman ke stdout. Contoh:

chrome --headless --dump-dom https://developer.chrome.com/

Hal ini berbeda dengan mencetak kode sumber HTML, yang mungkin Anda lakukan dengan curl. Untuk menampilkan output --dump-dom, Chrome pertama-tama mengurai kode HTML ke dalam DOM, menjalankan <script> apa pun yang mungkin mengubah DOM, lalu mengubah DOM tersebut kembali menjadi string HTML serial.

--screenshot

Flag --screenshot mengambil screenshot halaman target dan menyimpannya sebagai screenshot.png di direktori kerja saat ini. Hal ini sangat berguna jika dikombinasikan dengan flag --window-size.

Contoh:

chrome --headless --screenshot --window-size=412,892 https://developer.chrome.com/

--print-to-pdf

Flag --print-to-pdf menyimpan halaman target sebagai PDF bernama output.pdf di direktori kerja saat ini. Contoh:

chrome --headless --print-to-pdf https://developer.chrome.com/

Secara opsional, Anda dapat menambahkan flag --no-pdf-header-footer untuk menghilangkan header cetak (dengan tanggal dan waktu saat ini) dan footer (dengan URL dan nomor halaman).

chrome --headless --print-to-pdf --no-pdf-header-footer https://developer.chrome.com/

--timeout

Flag --timeout menentukan waktu tunggu maksimum (dalam milidetik) setelah konten halaman diambil oleh --dump-dom, --screenshot, dan --print-to-pdf meskipun halaman masih dimuat.

chrome --headless --print-to-pdf --timeout=5000 https://developer.chrome.com/

Flag --timeout=5000 memberi tahu Chrome untuk menunggu hingga 5 detik sebelum mencetak PDF. Dengan demikian, proses ini membutuhkan waktu maksimal 5 detik untuk dijalankan.

--virtual-time-budget

--virtual-time-budget bertindak sebagai "fast-forward" untuk kode yang bergantung pada waktu (misalnya, setTimeout/setInterval). Kode ini memaksa browser untuk menjalankan kode halaman secepat mungkin sekaligus membuat halaman percaya bahwa waktu benar-benar berlalu.

Untuk mengilustrasikan penggunaannya, pertimbangkan demo ini, yang menambah, mencatat, dan menampilkan penghitung setiap detik menggunakan setTimeout(fn, 1000). Berikut kode yang relevan:

<output>0</output>
<script>
  const element = document.querySelector('output');
  let counter = 0;
  setInterval(() => {
    counter++;
    console.log(counter);
    element.textContent = counter;
  }, 1_000);
</script>

Setelah satu detik, halaman akan berisi "1"; setelah dua detik, "2", dan seterusnya. Berikut cara mengambil status halaman setelah 42 detik dan menyimpannya sebagai PDF:

chrome --headless --print-to-pdf --virtual-time-budget=42000 https://mathiasbynens.be/demo/time

--allow-chrome-scheme-url

Flag --allow-chrome-scheme-url diperlukan untuk mengakses URL chrome://. Flag ini tersedia mulai Chrome 123. Berikut contohnya:

chrome --headless --print-to-pdf --allow-chrome-scheme-url chrome://gpu