Capybara + Rspec如何匹配tag属性的一部分

时间:2012-05-25 07:48:58

标签: ruby-on-rails rspec capybara

我有一个包含多个链接的页面<a href='/bla/bla/bla/?page=xxx>text</a> 我希望使用Capybara和RSpec匹配某些xxx值链接,我不关心bla/bla/bla href属性的一部分。

page.should have_selector("div.class ul li a", :href => "page=2") 

不起作用, 还

page.should have_xpath("//a[@href='page=2']")

不是一个选项,因为我不知道完整的href属性值。

PS:也没有找到任何完整的Capybara API文档,只是为了获得所有可用的方法和参数的描述。我有这样的事吗?

2 个答案:

答案 0 :(得分:14)

尝试使用contains

page.should have_xpath "//a[contains(@href,'page=2')]"

答案 1 :(得分:3)

试试这个:

link = page.find('div.class ul li a')
link[:href].should match(/page=2/)

更多信息here