4

我正在使用pyppeteer来触发 headless chrome 并执行一些操作。但首先我希望网页的所有元素都能完全加载。pyppeteer 的官方文档建议使用带有多个参数的waitUntil参数。

我的疑问是我必须传递所有参数还是特别是任何一个就足够了?请建议以下片段是否对我有帮助?

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

1 回答 1

4

不,您不必将所有可能的选项传递给'waitUntil'. 如果您愿意,您可以选择其中任何一个,或者同时选择更多选项,但如果您是:

  • 不处理单页应用程序,
  • 对所有网络连接不感兴趣(例如,第 3 方跟踪)

那么你很高兴:'domcontentloaded'等待所有元素在页面上呈现。

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

详细选项:

  • load: 当load事件被触发时。

  • domcontentloaded: 当DOMContentLoaded事件被触发时。

  • networkidle0: 当至少 500 毫秒内没有超过 0 个网络连接时。

  • networkidle2:至少 500 毫秒内没有超过 2 个网络连接时。

[资源]

注意:当然,NodeJs puppeteer 库也是如此,它们在waitUntil.

于 2020-07-12T09:08:18.230 回答