编剧:怎么等到页面没有动画了?
Playwright: how to wait until there is no animation on the page?
我正在尝试弄清楚如何在 Playwright 中检查页面是否已完全加载。 await page.waitForLoadState('networkidle');
在 Javascript 密集型网站上并不总是适合我。我采取了截屏 base64
,等待 100 毫秒,重新截屏,然后比较它们是否相同。然而这似乎不太理想,有什么办法可以问编剧什么时候重画最后一个动画帧?
有几个选项可能对您有所帮助。
1.方案一:
首先,您也许可以确定最后加载的是哪个元素,然后再使用
page.waitForSelector('yourselector')
甚至等待多个选择器出现
page.waitForSelector('yourselector1','yourselector2')
2。解决方案 2
page.waitForLoadState('domcontentloaded')
因为
page.waitForLoadState('networkidle')
默认情况下会等待网络事件,如果 0.5 秒内没有任何网络交易,它会说,我不再需要等待。这就是为什么你可能有随机行为。
如果给定的解决方案不适合您,您可以尝试使用定位器。
page.locator(selector[, options])
它有多个 api 像 locator.isDisabled 或 locator.waitFor([options])或 locator.isVisible([options]) 或 locator.frameLocator(selector) ......更多.
请在此处查看以下 link:
https://playwright.dev/docs/api/class-locator
我正在尝试弄清楚如何在 Playwright 中检查页面是否已完全加载。 await page.waitForLoadState('networkidle');
在 Javascript 密集型网站上并不总是适合我。我采取了截屏 base64
,等待 100 毫秒,重新截屏,然后比较它们是否相同。然而这似乎不太理想,有什么办法可以问编剧什么时候重画最后一个动画帧?
有几个选项可能对您有所帮助。
1.方案一:
首先,您也许可以确定最后加载的是哪个元素,然后再使用
page.waitForSelector('yourselector')
甚至等待多个选择器出现
page.waitForSelector('yourselector1','yourselector2')
2。解决方案 2
page.waitForLoadState('domcontentloaded')
因为
page.waitForLoadState('networkidle')
默认情况下会等待网络事件,如果 0.5 秒内没有任何网络交易,它会说,我不再需要等待。这就是为什么你可能有随机行为。
如果给定的解决方案不适合您,您可以尝试使用定位器。
page.locator(selector[, options])
它有多个 api 像 locator.isDisabled 或 locator.waitFor([options])或 locator.isVisible([options]) 或 locator.frameLocator(selector) ......更多.
请在此处查看以下 link: https://playwright.dev/docs/api/class-locator