दोनों मैं क्रोम बिना सिर के साथ एक पृष्ठ का एक स्क्रीनशॉट बनाना चाहते हैं, और हम देखा है --screenshot
और --virtual-time-budget
लोड समय के लिए एक स्क्रीनशॉट ब्राउज़र की प्रतीक्षा ले रहे हैं और सीमित करने के लिए स्विच।
मेरे पास पृष्ठ पर ऐसे तत्व हैं जो प्रस्तुत करने के लिए DOMContentLoaded की प्रतीक्षा करते हैं, और हम उन पर भी कब्जा करना चाहते हैं।
मैं स्क्रीनशॉट लेने के लिए एक रास्ता ढूंढ रहा हूं, कहते हैं, पेज लोड होने के 5 सेकंड बाद , सही के बजाय जब इसे लोड माना जाता है।
हम अपने NodeJS एप्लिकेशन से क्रोम हेडलेस को इस तरह बुला रहे हैं:
cp.spawnSync("google-chrome-beta", ["--headless", "--disable-gpu", "--screenshot", "--profile-directory=Default", "--window-size=1920,6200", "--virtual-time-budget=25000", url]);
हम जानते हैं कि कमांड लाइन स्विच का उपयोग करने के बजाय नोड से एक एपीआई का उपयोग करके इसे प्राप्त करने वाले संभव एनपीएम पुस्तकालय हैं, लेकिन हम स्थिरता के बारे में चिंतित हैं (क्रोम टीम नियमित रूप से अपने सभी आंतरिक एपीआई को तोड़ना पसंद करती है)।
टी एल; डॉ
स्क्रीनशॉट लेने से पहले पेज लोड होने के कुछ सेकंड बाद क्रोम हेडलेस बनाने के लिए क्या कोई रास्ता है?
nodejs index.js --url="http://www.eff.org" --delay=5000
5 सेकंड की देरी के लिए।