我有两个<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寻找它?
答案 0 :(得分:0)
使用强大的XPath
。
//form/h4[@class="search-result-name"][1]
指的是第一个h4
节点,
同样,//form/h4[@class="search-result-name"][2]
指的是第二个h4
节点
Capybara积极支持XPath
查找和查询
我没有完整的DOM知识,所以基于输入,上面必须工作。根据您自己修改。 :)