Rails + Cucumber / Selenium / Capybara:将两个h4的文本值与同一类进行比较?

时间:2013-05-13 18:22:41

标签: ruby-on-rails

我有两个<h4>个搜索结果的名称。我需要比较第一个和最后一个结果的值,以确保它们按字母顺序排列。 h4有一类search-result-name。它们都位于标识为form的{​​{1}}标记中。

这是我目前的破黄瓜测试:

#search-results

这给了我错误Then(/^the results should be alphabetical$/) do first_product_name = page.all('.search-result-name')[1] #first('.search-result-name').text last_product_name = page.all('.search-result-name')[2] first_product_name[0].should <= last_product_name[0] end ,所以我在想我正在查找错误。我找不到任何关于如何找到元素的第2,第3等匹配的文档。问题是他们都在同一个div中并且他们有相同的类。我如何使用selenium / capybara寻找它?

1 个答案:

答案 0 :(得分:0)

使用强大的XPath//form/h4[@class="search-result-name"][1]指的是第一个h4节点,
同样,//form/h4[@class="search-result-name"][2]指的是第二个h4节点

Capybara积极支持XPath查找和查询 我没有完整的DOM知识,所以基于输入,上面必须工作。根据您自己修改。 :)