Chrome Puppeteer без головы: Страница, чтобы сообщить кукольнику, что он готов - PullRequest
0 голосов
/ 28 сентября 2018

Я пытаюсь создать PDF-страницу со многими внешними запросами AJAX.

await page.goto(url);
const buffer = await page.pdf({ format: 'A4' })

Я пробовал waitUntil:'networkidle0' и другие различные waits, но ничего кроме задержкидостаточно, чтобы захватить загруженные данные.

Так что теперь я пытаюсь заставить страницу сказать Кукольнику, что она готова, но не вижу, как из документов.

В идеале, я хочустраница, чтобы вызвать событие, и кукловод, чтобы ждать его, как это:

await page.goto(url);
await page.on('readyForPdf');
const buffer = await page.pdf({ format: 'A4' })

Возможно ли это?

1 Ответ

0 голосов
/ 28 сентября 2018

Я бы рекомендовал использовать page.waitForSelector() для ожидания последнего ожидаемого элемента.

Пример использования:

await page.goto( 'https://www.example.com/', { waitUntil : 'networkidle0' } );

await page.waitForSelector( '#last-expected-element' );

const buffer = await page.pdf({
    path   : 'page.pdf',
    format : 'A4'
});
...