Chrome Headless를 사용하여 페이지의 스크린 샷을 만들고 싶습니다. 스크린 샷 을 찍고 브라우저의로드 대기 시간을 제한하는 스위치 --screenshot
와 --virtual-time-budget
스위치를 모두 확인했습니다 .
그러나 페이지에 DOMContentLoaded가 렌더링 될 때까지 기다리는 요소가 있으며 그 요소도 캡처하려고합니다.
페이지가로드 된 후 바로로드되는 대신 페이지가로드 된 후 5 초 동안 스크린 샷을 찍는 방법을 찾고 있습니다 .
NodeJS 애플리케이션에서 다음과 같이 Chrome Headless를 호출합니다.
cp.spawnSync("google-chrome-beta", ["--headless", "--disable-gpu", "--screenshot", "--profile-directory=Default", "--window-size=1920,6200", "--virtual-time-budget=25000", url]);
명령 줄 스위치를 사용하는 대신 노드에서 API를 사용하여이 작업을 수행 할 수있는 npm 라이브러리가 있지만 안정성에 대해 우려하고 있습니다 (Chrome 팀은 모든 내부 API를 정기적으로 중단하는 것을 좋아합니다).
TL; DR
어쨌든 페이지를로드 한 후 몇 초 후에 Chrome 헤드리스를 기다려 스크린 샷을 만들 수 있습니까?
nodejs index.js --url="http://www.eff.org" --delay=5000
5 초 동안 실행 합니다.