用capybara查找具有特定子元素的元素

时间:2016-09-22 10:31:34

标签: xpath rspec capybara

我正在尝试编写一个测试,我需要找到一个包含特定图标的a元素

<a href="#"><span class="icon icon-checkmark></span></a>

我尝试使用xpath,但我猜错了...

save_button = find(:xpath, '//a[span(., "icon-checkmark")]')

找到保存按钮的正确方法是什么?

2 个答案:

答案 0 :(得分:3)

你很接近,除非你需要指明你正在寻找一个类名。

find(:xpath, ".//a[.//span[contains(concat(' ',@class,' '), ' icon-checkmark ')]]")

concat和extra空格用于确保它与特定的类名匹配,而不是与不同类名的子字符串匹配。

答案 1 :(得分:1)

试试这个:'*//a/span[contains(@class,'icon-checkmark')]'