ฉันต้องการสร้างภาพหน้าจอของหน้าเว็บด้วย Chrome Headless และเราเห็นทั้งสองอย่างแล้ว --screenshot
และ --virtual-time-budget
สลับไปที่การจับภาพหน้าจอและ จำกัด การรอโหลดของเบราว์เซอร์
ฉันมีองค์ประกอบบนหน้าเว็บที่รอให้ DOMContentLoaded แสดงผลและเราต้องการจับภาพเหล่านั้นด้วย
ฉันกำลังมองหาวิธีถ่ายภาพหน้าจอพูด 5 วินาที หลังจาก โหลดหน้าเว็บแทนสิทธิ์เมื่อพิจารณาว่าโหลดแล้ว
เรากำลังโทรหา Chrome Headless จากแอปพลิเคชัน NodeJS ของเราดังนี้:
cp.spawnSync("google-chrome-beta", ["--headless", "--disable-gpu", "--screenshot", "--profile-directory=Default", "--window-size=1920,6200", "--virtual-time-budget=25000", url]);
เรารู้ว่ามีไลบรารี npm ที่เป็นไปได้ที่สามารถทำได้โดยใช้ API จากโหนดแทนที่จะใช้สวิตช์บรรทัดคำสั่ง แต่เรากังวลเกี่ยวกับความเสถียร (ทีมงาน Chrome ชอบที่จะทำลาย API ภายในทั้งหมดของพวกเขาเป็นประจำ)
TL; DR
มีวิธีใดที่จะทำให้ Chrome ไม่ต้องรอสักครู่หลังจากโหลดหน้าเว็บก่อนที่จะถ่ายภาพหน้าจอ
nodejs index.js --url="http://www.eff.org" --delay=5000
เป็นเวลา 5 วินาทีล่าช้า