javascript - 类似于 Puppeteer 中的 document.ready() 的功能?
问题描述
有类似document.ready()
的东西Puppeteer
吗?
有:
page.waitForSelector(selector)
既然任何一个 HTML 页面上都有这么多同名选择器,那么这个函数怎么能确定正确的页面已经加载呢?这是一个简单的功能,但在我之前使用它时引起了很多错误page.content()
。我不确定这个功能遗漏了什么。
解决方案
您可以使用page.waitForNavigation()
jQuery 函数的替代document.ready()
方法:
await page.waitForNavigation({waitUntil: 'load'}); // consider navigation to be finished when the load event is fired.
await page.waitForNavigation({waitUntil: 'domcontentloaded'}); // consider navigation to be finished when the DOMContentLoaded event is fired.
await page.waitForNavigation({waitUntil: 'networkidle0'}); // consider navigation to be finished when there are no more than 0 network connections for at least 500 ms.
await page.waitForNavigation({waitUntil: 'networkidle2'}); // consider navigation to be finished when there are no more than 2 network connections for at least 500 ms.
或者,您可以使用waitUntil
选项 inpage.goto()
等待文档加载:
await page.goto('https://example.com/', {waitUntil: 'load'});
await page.goto('https://example.com/', {waitUntil: 'domcontentloaded'});
await page.goto('https://example.com/', {waitUntil: 'networkidle0'});
await page.goto('https://example.com/', {waitUntil: 'networkidle2'});
推荐阅读
- python - Pandas:条形图,数据框中重复的 x 列中有两个条形图
- visual-studio-code - python3类继承引用和vs代码没有IntelliSense?
- next.js - 在 Next.js 中创建动态 index.js 页面
- wordpress - 如何向 WooCommerce Gutenberg 块添加标记?
- ios - 颤振运行错误命令 PhaseScriptExecution 失败,退出代码为非零,但适用于 Xcode
- javascript - 上传的图像高度和宽度尺寸固定Jquery
- bash - 创建新窗口时如何确定我的 tmux 会话源哪个 rc 文件?
- html - 使用 flex-wrap 移动到下一行时保持 div 宽度的 Flex 盒设计
- python - 在ubntu linux中调试kivy应用程序时出现问题,当我尝试调试应用程序时,它开始导入需求,然后显示错误并退出
- python - 特征向量中心性计算 igraph (Python)