"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > Puppeteer를 사용하여 PDF를 생성하기 전에 페이지 완성을 확인하는 방법은 무엇입니까?

Puppeteer를 사용하여 PDF를 생성하기 전에 페이지 완성을 확인하는 방법은 무엇입니까?

2024-11-09에 게시됨
검색:318

How to Ensure Page Completion Before Generating PDFs with Puppeteer?

Puppeteer를 사용하여 PDF 생성: 페이지 완료 대기

Puppeteer를 사용하여 웹 페이지에서 PDF를 생성할 때 완전성을 보장하기 위해 페이지가 완전히 로드될 때까지 기다리는 것이 중요합니다. 생성된 문서의 정확성. 수동 지연에 의존하지 않고 이를 달성하는 방법을 살펴보겠습니다.

page.waitForNavigation() 메서드는 초기 페이지 로드를 포함하여 페이지 탐색 이벤트를 기다리는 안정적인 방법을 제공합니다. networkidle0 옵션을 사용하여 더 이상 활성 네트워크 연결이 없을 때까지 함수가 대기하도록 지정합니다.

await page.goto(fullUrl, {
  waitUntil: 'networkidle0',
});

페이지가 로드되면 로그인 양식을 작성하여 제출할 수 있습니다.

await page.type('#username', 'scott');
await page.type('#password', 'tiger');
await page.click('#Login_Button');

다음으로 로그인 프로세스가 완료되었는지 확인하기 위해 추가 waitForNavigation() 호출을 추가할 수 있습니다.

await page.waitForNavigation({
  waitUntil: 'networkidle0',
});

마지막으로 PDF 생성을 진행할 수 있습니다.

await page.pdf({
  path: outputFileName,
  displayHeaderFooter: true,
  headerTemplate: '',
  footerTemplate: '',
  printBackground: true,
  format: 'A4',
});

특정 동적 콘텐츠를 PDF에 포함해야 하는 경우 page.waitForSelector()를 사용하여 이 접근 방식을 보완하여 특정 요소가 페이지에 나타날 때까지 기다릴 수 있습니다. PDF.

await page.waitForSelector('#example', {
  visible: true,
});

이러한 기술을 활용하면 PDF를 생성하기 전에 Puppeteer가 페이지가 완전히 로드될 때까지 기다리도록 하여 포괄적이고 정확한 문서를 생성할 수 있습니다.

최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3