Browser 看得见的如果父元素是隐藏的,则为可见元素返回false

Browser 看得见的如果父元素是隐藏的,则为可见元素返回false,browser,watir,Browser,Watir,Watir的visible?方法迭代DOM元素树,并检查是否有任何父元素的visibility属性设置为hidden。 如果任何父项被隐藏,则可见?返回false,就是这样 如果出现以下HTML: <div id="parent" style="display: block; visibility:hidden;"> <div id="child" style="display: block; visibility:visible;"> Visibility

Watir的
visible?
方法迭代DOM元素树,并检查是否有任何父元素的visibility属性设置为hidden。 如果任何父项被隐藏,则
可见?
返回
false
,就是这样

如果出现以下HTML:

<div id="parent" style="display: block; visibility:hidden;">
  <div id="child" style="display: block; visibility:visible;">
    Visibility Check.
  </div>
</div>

能见度检查。
可见?
将返回
false
,因为“父”div被隐藏

但是,div实际上在浏览器中可见


这是Watir中的一个功能,我将接受它,还是这里有一个很好的解决方法?

我想您正在使用Watir classic?考虑到它在watir webdriver中似乎工作正常,我建议这是watir classic的一个bug-您应该将其登录到。嘿,Justin,谢谢您的回复。事实上,我使用的是watir classic,因为watir webdriver不是一个选项。我也认为这是一个bug,但我想先问一下,因为在我看来,可见的东西是不真实的?可能有错误。如果
显示
,但
可见性
隐藏
,那么规范的实际含义是什么?嗨,Jarmo,这里有一个定义:隐藏生成的框是不可见的(完全透明,没有绘制),但仍然影响布局。此外,如果元素的子体具有“可见性:可见”,则它们将可见。嗨,伙计们,这方面有什么更新吗?我该怎么做才能解决这个问题呢,还是说将来会发生变化?