一个初学者的两个问题.
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-是否可以在’内部’capybara方法中添加2个选择器,即我已经看到可以通过执行以下操作来限制范围:
within("//div[@id='first']") do
但是我们可以通过添加id =’first’和class =’drawer’来过滤该DIV吗?
非常感谢!
解决方法
您可以组合选择器.
对于您的第一个问题,以下检查id为“first”和class“drawer”的div:
page.should have_css('div#first.drawer')
对于您的第二个问题,内部块可以使用与上述相同的css选择器:
within('div#first.drawer') do
或者如果你真的喜欢xpath,你可以做:
within("//div[@id='first' and @class='drawer']") do
css选择器的一个很好的参考:http://www.w3.org/TR/CSS2/selector.html