pyppeteer дождитесь загрузки всех элементов страницы - PullRequest
1 голос
/ 11 июля 2020

Я использую pyppeteer для запуска безголового chrome и выполнения некоторых действий. Но сначала я хочу, чтобы все элементы веб-страницы были полностью загружены. Официальная документация pyppeteer предлагает параметр waitUntil , который имеет более 1 параметра.

Я сомневаюсь, нужно ли мне передавать все параметры или достаточно одного ? Подскажите, пожалуйста, поможет ли следующий фрагмент в моем случае?

await page.goto(url, {'waitUntil' : ['load', 'domcontentloaded', 'networkidle0', 'networkidle2']})

1 Ответ

1 голос
/ 12 июля 2020

Нет, вам необязательно передавать все возможные варианты на 'waitUntil'. Вы можете выбрать любой из них или несколько вариантов одновременно, если хотите, но если вы:

  • не имеете дела с одностраничным приложением,
  • не интересуетесь все сетевые подключения (например, стороннее отслеживание)

тогда вы можете go с: 'domcontentloaded', чтобы дождаться, пока все элементы будут отображены на странице.

await page.goto(url, {'waitUntil' : 'domcontentloaded'})

Подробные сведения о параметрах:

  • load: при срабатывании события load.

  • domcontentloaded: при срабатывании события DOMContentLoaded.

  • networkidle0: когда не более 0 сетевых подключений в течение не менее 500 мс.

  • networkidle2: при наличии не более 2 сетевых подключений в течение не менее 500 мс.

[источник]

Примечание: , конечно, верно и для библиотеки NodeJs кукловода, они работают таким же образом с точки зрения waitUntil.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...