【发布时间】:2020-03-09 01:06:12
【问题描述】:
有什么方法或 Puppeteer API 我们可以等待元素从 Dom 中消失或移除,然后继续执行?
例如,我有一个加载动画,我想等到这个加载动画从 Dom 中删除。
【问题讨论】:
标签: javascript node.js puppeteer webautomation
有什么方法或 Puppeteer API 我们可以等待元素从 Dom 中消失或移除,然后继续执行?
例如,我有一个加载动画,我想等到这个加载动画从 Dom 中删除。
【问题讨论】:
标签: javascript node.js puppeteer webautomation
您可以将 page.waitForFunction 与条件语句一起使用。
await page.waitForFunction('document.querySelector("#myElement") === null')
【讨论】:
如果你在等待 API 响应,或许还是依赖
await page.waitForResponse(response => response.url() === myUrl && response.status() === 200);
【讨论】:
waitForSelector 有一个 hidden 选项,它还检查元素是否在 DOM 中:
await page.waitForSelector('div', {hidden: true});
【讨论】:
试试这个
await page.waitFor(() => !document.querySelector(querySelector));
甚至是waitForFunction()
await page.waitForFunction()
【讨论】:
waitFor 已弃用。在这种情况下,您可以使用 waitForFunction 代替它。