在我正在使用的书中,有一个关于代码留置权的测试
assert_select '.store .entry > img', 3
我知道它正在类类商店里面的类入口的html中寻找标签。我不知道>手段。实际上,此代码未通过测试,因为它最终返回值为0而不是3.但是,如果我删除了>并使用此
assert_select '.store .entry img', 3
该程序能够找到3个img元素。什么是“>”这种情况下的标志意味着什另外,为什么当书中指定的符号被包含时,它找不到img标签,但是当删除该符号时它是否有效?
答案 0 :(得分:0)
>
表示只匹配具有类img
的元素的直接子元素的entry
个元素。这意味着img
将匹配:
<div class="store">
<div class="entry">
<img src=""/>
</div>
</div>
但不是这一个:
<div class="store">
<div class="entry">
<p>
<img src=""/>
</p>
</div>
</div>
删除后,会找到两个示例中的img
元素。