初学者的两个问题。
Q1-是否可以通过ID和类来断言HTML节点的存在? 例如,要查看是否存在以下元素:
<div class="drawer" id="first"....>
我见过你可以使用类似的东西:
page.should have_css('div.drawer')
page.should have_css('div#first')
但是我们可以以某种方式查询两个参数的存在,我已经尝试了以下但没有工作:
page.should have_selector("div", :class => "drawer", :id => "first")
Q2-是否可以在“内部”水豚方法中添加2个选择器,即我已经看到你可以通过这样做来限制范围:
within("//div[@id='first']") do
但是我们可以通过以某种方式添加id ='first'和class ='drawer'来过滤那个DIV吗?
非常感谢!
答案 0 :(得分:36)
您可以组合选择器。
对于您的第一个问题,以下检查ID为“first”和“抽屉”类的div:
page.should have_css('div#first.drawer')
对于第二个问题,within
块可以使用与上面相同的css选择器:
within('div#first.drawer') do
或者如果你真的更喜欢xpath,你可以这样做:
within("//div[@id='first' and @class='drawer']") do
css-selectors的一个很好的参考:http://www.w3.org/TR/CSS2/selector.html