Capybara的have_selector有哪些选择?

我在RSpec中遇到了这个错误。 是否有任何针对have_selector文档可以解释选项哈希中的每个键以及它究竟是做什么的?

 invalid keys :content, should be one of :text, :visible, :between, :count, :maximum, :minimum, :exact, :match, :wait 

capybara为rspec提供了这种方法。 capybara的文档不容易找到你的问题的答案,所以让我们按照来源:

have_selectorCapybara::RSpecMatchers 。 它委托给嵌套类HaveSelector ,该类委托给方法assert_selector

assert_selectorCapybara::Node::Matchers 。 (所以方法是has_selector?虽然这不是rspec所调用的。) assert_selector的rdoc记录了:count选项。 它还说“它还接受Finders#all接受的所有选项,例如:text和:visible。” 点击Finders#all最终获取所有选项的文档:

选项哈希(选项):

  • text(String,Regexp) – 仅查找包含此文本的元素或与此正则表达式匹配
  • visible(布尔值) – 仅查找页面上可见的元素。 将此设置为false可查找 – 不可见和可见元素。
  • count(整数) – 预期找到的确切匹配数
  • maximum(整数) – 预期找到的最大匹配数
  • minimum(整数) – 预期找到的最小匹配数
  • 介于(范围)之间 – 找到的匹配数必须在给定范围内
  • exact(Boolean) – 控制给定XPath中的表达式是完全匹配还是部分匹配