很可能我们要定位的元素位于其他的元素里面,所有的元素都有一个*_element方法需找元素自身的上下文。例如,如果我想找一个unordered_list嵌套在一个div里面,可以这么做:
1 div(:errors, :id => 'error_explanation') 2 3 def error_messages 4 errors_element.unordered_list_element.text 5 end
这个方法先获取div元素,然后调用它的方法来检索unordered_list
我们也可以通过声明来做同样的事情
1 div(:errors, :id => 'error_explanation') 2 unordered_list(:error_messages) do |page| 3 page.errors_element.unordered_list_element 4 end