javascript - Nightwatch.js - 元素存在但不可见
问题描述
我有一个元素我想检查它的内容,但是,即使它在屏幕上可见,nightwatch 也无法识别它。
browser.waitForElementPresent('mySelector', 20000) //this succeeds
browser.waitForElementVisible('mySelector', 20000) //this fails
browser.verify.containsText('mySelector', 'text') //this also fails (of course)
我在失败时检查了屏幕截图,我绝对可以看到包含我正在查看的文本的 html 元素,并且它可以与我拥有的其他类似元素一起使用。
我很想知道在检查可见性时 nightwatch 本身在看什么,因为我也看不到 html 元素中的任何隐藏属性。
解决方案
问题在于具有相同选择器的元素保留在 DOM 中。通过使用第 n 个孩子解决。
推荐阅读
- git - 拆分主存储库后同步管理存储库
- sql - 我的查询中没有索引(PostgreSQL)
- php - 在 Laravel 中区分 GET 和 POST 请求与路由
- python - 如何加快从压缩的 HDF5 文件中读取的速度
- chef-infra - Ohai plugin_path 未在 Windows 10 上加载
- r - 查找具有匹配日期组件的第一个日期时间元素的索引
- apache-kafka - Goldengate 将 oracle 10g 实时复制到 kafka
- django - 在 Django 中使用 Jinja2 {{ variable }} into {% instructions %}
- iframe - 如何解决 iframe 上的显示问题
- javascript - 切换菜单立即消失