我有3个div,类variant_container
。我如何选择最后一个以便我能够做到
within(last_variant_div) do
...
end
答案 0 :(得分:0)
根据您的偏好,这里有两个解决方案。
使用XPath
XPath有一个last()
函数来查找最后一个匹配节点。您可以在内部定位器中使用它:
within(:xpath, '(//div[@class="variant_container"])[last()]') do
# do stuff
end
全部使用
within
方法也可以传递给一个节点进行搜索。这意味着您可以按find
或all
找到最后一个节点,这有时可以提供更大的灵活性。
例如,在这种情况下,我们现在可以使用CSS选择器来查找最后一个div(通过将其与Capybara的all
方法相结合)。请注意,CSS选择器本身无法找到某个类的最后一个元素。
last_div = all('div.variant_container').last
within(last_div) do
# do stuff
end