javascript - 检查视口(viewport)中的可见性( puppeteer 师)

原文 标签 javascript cucumber puppeteer

如何使用 Puppeteer 检查 HTML 元素是否在视口(viewport)(可见区域)内可见?例如,如果我必须滚动才能看到一个按钮,那么它是不可见的。

page.waitForSelector('#element', { visible: true })

page.waitForSelector 函数不是我要找的,因为它只检查元素是否在 DOM 中并且没有被 CSS 属性隐藏。

有什么方法可以检查元素在视口(viewport)中的可见性吗?

最佳答案

您可以使用 elementHandle.isIntersectingViewport() 检查元素是否在当前视口(viewport)中可见:

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.
}

关于javascript - 检查视口(viewport)中的可见性( puppeteer 师),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48663356/

相关文章:

websocket - 如何使用 Puppeteer 向 WebSocket 发送数据

javascript - Puppeteer 如何直接跳转到想要的页面

javascript - JavaScript执行顺序-运行this(),然后在this()完成时运行that()?

cucumber - 使用 Gems 或 Jenkins(或两者)在多台机器上并行 Cucumber BDD 测试

java - 出现错误 - org.openqa.selenium.StaleElementReferenceException : stale element reference: element is not attached to the page document

node.js - 在 headless 模式下运行时是否可以远程跟踪 Chrome 的 GUI?

javascript - 如何在 JavaScript 对象中做 css

Javascript - 重新分配函数参数中定义的变量时是否需要使用 'var'?

javascript - 被 mootools 操作时 iframe 内容消失

java - 范围报告在 Cucumber 4.7.1 中不起作用