18

初学者的两个问题。

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 吗?

非常感谢!

4

1 回答 1

38

您可以组合选择器。

对于您的第一个问题,以下检查 id 为“first”且类为“drawer”的 div:

page.should have_css('div#first.drawer')

对于您的第二个问题,该within块可以使用与上述相同的 css-selector:

within('div#first.drawer') do

或者如果你真的更喜欢 xpath,你可以这样做:

within("//div[@id='first' and @class='drawer']") do

css-selector 的一个很好的参考:http: //www.w3.org/TR/CSS2/selector.html

于 2012-12-11T04:53:16.373 回答