多个元素具有相同标签的网页上的文本验证

Text validation on a webpage where multiple elements have the same label

我有以下代码作为测试的一部分:

if page.text.include? "Provide your details"
  go_and_enter_details
end

该网页有多个标记为 h2 的元素,包括正在检查内容的元素。

返回此错误:

Ambiguous match, found 3 elements matching css "h2" (Capybara::Ambiguous)

如何才能Ruby/Cucumber/Capybara识别页面是否包含我需要检查的文本?

您有多种选择:

  • 如果要填充的元素是页面中的第一个元素,可以使用first element

    first('YOUR ELEMENT').click
    
  • 你可以使用within,这样你就可以告诉水豚在哪里找到你的元素(例如,在div

    within('body > div > div') do
     #find your element and do your work
    end
    
  • 您可以使用元素的 CSS selectorXPath