हेडलेस मोड और हेडलेस शेल में, कमांड-लाइन के ये फ़्लैग उपलब्ध हैं.
--dump-dom
--dump-dom फ़्लैग, टारगेट पेज के क्रम से लगाए गए DOM को stdout पर प्रिंट करता है.
उदाहरण के लिए:
chrome --headless --dump-dom https://developer.chrome.com/
यह एचटीएमएल सोर्स कोड को प्रिंट करने से अलग है. ऐसा curl की मदद से किया जा सकता है. --dump-dom का आउटपुट दिखाने के लिए, Chrome पहले एचटीएमएल
कोड को DOM में पार्स करता है. इसके बाद, DOM में बदलाव करने वाले किसी भी <script> को एक्ज़ीक्यूट करता है. फिर उस DOM को वापस एचटीएमएल की क्रम से लगाई गई स्ट्रिंग में बदलता है.
--screenshot
--screenshot फ़्लैग, टारगेट पेज का स्क्रीनशॉट लेता है और उसे मौजूदा वर्किंग डायरेक्ट्री में screenshot.png के तौर पर सेव करता है. यह --window-size फ़्लैग के साथ मिलकर काम करने पर खास तौर पर काम आता है.
उदाहरण के लिए:
chrome --headless --screenshot --window-size=412,892 https://developer.chrome.com/
--print-to-pdf
--print-to-pdf फ़्लैग, टारगेट पेज को मौजूदा वर्किंग डायरेक्ट्री में output.pdf नाम से PDF के तौर पर सेव करता है. उदाहरण के लिए:
chrome --headless --print-to-pdf https://developer.chrome.com/
अगर चाहें, तो --no-pdf-header-footer फ़्लैग जोड़कर, प्रिंट हेडर (मौजूदा तारीख और समय के साथ) और फ़ुटर (यूआरएल और पेज नंबर के साथ) को हटाया जा सकता है.
chrome --headless --print-to-pdf --no-pdf-header-footer https://developer.chrome.com/
--timeout
--timeout फ़्लैग, ज़्यादा से ज़्यादा इंतज़ार करने का समय (मिलीसेकंड में) तय करता है. इसके बाद, पेज लोड हो रहा हो, तब भी --dump-dom, --screenshot, और --print-to-pdf की मदद से पेज का कॉन्टेंट कैप्चर किया जाता है.
chrome --headless --print-to-pdf --timeout=5000 https://developer.chrome.com/
--timeout=5000 फ़्लैग, Chrome को PDF प्रिंट करने से पहले पांच सेकंड तक इंतज़ार करने के लिए कहता है. इसलिए, इस प्रोसेस को पूरा होने में ज़्यादा से ज़्यादा पांच सेकंड लगते हैं.
--virtual-time-budget
--virtual-time-budget फ़्लैग, समय पर निर्भर कोड (उदाहरण के लिए, setTimeout/setInterval) के लिए "फ़ास्ट-फ़ॉरवर्ड" की तरह काम करता है. यह ब्राउज़र को पेज के किसी भी कोड को जितनी तेज़ी से हो सके, उतनी तेज़ी से एक्ज़ीक्यूट करने के लिए मजबूर करता है. साथ ही, पेज को यह दिखाता है कि समय असल में बीत रहा है.
इसके इस्तेमाल को समझने के लिए, इस डेमो को देखें. इसमें
हर सेकंड में काउंटर को बढ़ाया जाता है, लॉग किया जाता है, और दिखाया जाता है
setTimeout(fn, 1000) का इस्तेमाल करके. यहां इससे जुड़ा कोड दिया गया है:
<output>0</output>
<script>
const element = document.querySelector('output');
let counter = 0;
setInterval(() => {
counter++;
console.log(counter);
element.textContent = counter;
}, 1_000);
</script>
एक सेकंड के बाद, पेज पर "1" दिखता है. दो सेकंड के बाद, "2" दिखता है. इसी तरह, यह क्रम चलता रहता है. यहां 42 सेकंड के बाद पेज की स्थिति को कैप्चर करने और उसे PDF के तौर पर सेव करने का तरीका बताया गया है:
chrome --headless --print-to-pdf --virtual-time-budget=42000 https://mathiasbynens.be/demo/time
--allow-chrome-scheme-url
chrome:// यूआरएल ऐक्सेस करने के लिए, --allow-chrome-scheme-url फ़्लैग ज़रूरी है. यह फ़्लैग, Chrome के वर्शन 123 से उपलब्ध है. यहां एक उदाहरण दिया गया है:
chrome --headless --print-to-pdf --allow-chrome-scheme-url chrome://gpu