【发布时间】:2015-04-29 16:34:25
【问题描述】:
我正在使用以下 Capybara 查询:
all(:xpath, '//table[@class="myClass"]//tr)
我的表格包含两个条目:
<tr class="class1" style="visibility: hidden;">
<tr class="class2">
与原始代码相比,上面的代码稍微简化了一些,但它适用于示例。当针对 Chrome 或 Firefox 运行 Capybara 时,查询结果为一个元素(类 2)。当针对 Poltergeist 运行相同的代码时,我得到了这两个元素。我试图明确告诉 Capybara 忽略隐藏元素,但我仍然得到隐藏元素。我在这里遗漏了什么吗?
【问题讨论】:
-
您找到解决方法了吗?
-
@Pablo 不是。我所做的是使用 xPath 手动过滤“class1”(如上面的示例),如下所示:
all(:xpath, '//table[@class="myClass"]//tr[not(@class="class1")])。这当然并不总是可能的。 -
IIRC all 返回所有元素,除非您指定
visible: true -
all(:xpath, '//table[@class="myClass"]//tr', visible: true)
标签: capybara poltergeist