是否可以使用SitePrism单击第N个元素?

时间:2016-11-28 14:50:30

标签: capybara site-prism

我刚开始使用SitePrism并且我有一个网站,其中元素被动态添加到页面中,并且没有任何类型的id,名称等...我能想到的最简单的就是找到它们他们的'文本',例如。一个CONTINUE按钮

我在尝试:

element :continue_b, :button, 'Continue'

和SitePrism失败并显示以下内容:

Capybara::Ambiguous: Ambiguous match, found 4 elements matching button "Continue"

我有没有办法用SitePrism指定我要点击的元素?我已经找到了一些方法来与Capybara本身一起做,但我没有设法看到与SitePrism相当的。

1 个答案:

答案 0 :(得分:1)

如果任何按钮元素之间确实没有区别,并且您无法将element定义移动到页面的作用域section,您可以使用match参数返回第一个参数。由于SitePrism元素名称之后的所有参数都作为查找参数传递给Capybara,因此它将是

element :continue_b, :button, 'Continue', match: :first