点击与Capybara的第二个模棱两可的链接

时间:2014-04-11 22:27:57

标签: ruby-on-rails testing capybara

我想点击以下两个链接中的第二个:

<a href="photo/1">photo</a>
<a href="photo/2">photo</a>

正如您所看到的,网址实际上是不同的,但链接标题&#34; photo &#34;在两者中都是相同的。 在我的链接上使用ID,并且没有用于区分链接的嵌套类上下文。

理想情况下,我希望能够点击第三个或nth不明确的链接。

用于此目的的DSL示例如下:

click_link photo.title, match: 2

2 个答案:

答案 0 :(得分:2)

我发现使用all比使用xpath定位更容易阅读:

all('a', :text => 'photo')[1].click

但是,它没有使用xpath那么快。

答案 1 :(得分:1)

你应该可以使用xpath。类似的东西:

find(:xpath, '//a[text()='photo'][2]').click