【问题标题】:nightwatchjs - How to detect hidden html elements?nightwatchjs - 如何检测隐藏的 html 元素?
【发布时间】:2020-05-08 13:32:01
【问题描述】:

有一个带有复选框和输入字段的表单

复选框看起来(看起来自定义样式)隐藏在浏览器视图中,由 css 隐藏选项(不透明度:0)example

所以 nightwatchjs 无法检测到复选框是否存在

如何解决这种情况?

formFieldsExist:function(){
  return this
             .assert.visible('#name')
             .assert.visible('#yesOrNo')
             .pause(2000)
}

1) 如何检测隐藏元素是否存在?

2)如果有解决方案,如何检测复选框状态(真或假)?

【问题讨论】:

  • @Nicktar 有什么问题吗?
  • 你有html示例吗?
  • 取决于它的隐藏方式。如果它像这个例子一样被隐藏怎么办? w3schools.com/jsref/tryit.asp?filename=tryjsref_hidden_get
  • 但是我们可以通过style="visibility: hidden;"找到“隐藏”的东西。
  • @Jortega 兄弟你能在这里写语法吗?

标签: javascript selenium automated-tests nightwatch.js


【解决方案1】:

如果隐藏元素被style="visibility: hidden;"这样的样式隐藏了,你可以试试。

守夜人:


.useXpath()
.waitForElementVisible("//*[@style='visibility: hidden;']"]',1000)

蟒蛇


driver.find_elements_by_xpath("//*[@style='visibility: hidden;']")

【讨论】:

  • .assert.attributeEquals('#test', 'data-visibility', 'hidden') 在复选框中添加了解决方案属性,请问?我怎样才能触发点击这个元素?
  • @ShibinRagh 您可以尝试.click("//*[@style='visibility: hidden;']"),但我发现尝试单击隐藏元素时出现问题。让我知道这是否有效。
  • 好的,我在这里有一个更新的问题stackoverflow.com/questions/59862018/…
猜你喜欢
  • 1970-01-01
  • 2011-12-04
  • 2014-05-01
  • 2011-12-28
  • 2011-02-02
  • 1970-01-01
  • 2023-02-01
  • 1970-01-01
相关资源
最近更新 更多