检查视口中的可见性(木偶戏)
如何与Puppeteer一起检查HTML元素在视口(可见区域)内是否可见?例如,如果我必须滚动才能看到按钮,则该按钮不可见。
page.waitForSelector('#element', { visible: true })
page.waitForSelector函数不是我要找的,因为它只检查元素是否在DOM中并且没有用CSS属性隐藏。
有什么方法可以检查元素在视口中的可见性吗?
解决方案
可以使用elementHandle.isIntersectingViewport()
检查元素在当前视口中是否可见:
const example = await page.$('#example');
if (await example.isIntersectingViewport()) {
// The element IS visible within the current viewport.
} else {
// The element IS NOT visible within the current viewport.
}
相关文章