Capybara Regex with Find



我正在尝试在正在开发的应用程序中写入某些通用的东西。头部元素在H2和H3之间不断变化,并导致不必要的故障。我想要一些更具体的期望的东西(页面)。

我想做的是在Capybara中编写一个查找命令,该命令将在代码中放置一个以数字为单位的正则命令。喜欢:

def locate_headers(arg)
  header = find(/h(d+)/, text: arg)
 end

我希望这能在屏幕上找到与文本匹配的h元素。

我有以下错误:

Selenium::WebDriver::Error::InvalidSelectorError: invalid selector: An invalid or illegal selector was specified

我没有太多的正则经验。是我想做的吗?

谢谢

CSS选择器不支持正则匹配,但它们确实支持或与CSS逗号匹配。这意味着您可以用

获得想要的东西
def locate_header(arg)
  header = find('h2, h3', text: arg)
end

将找到包含给定文本的<h2><h3>元素

find css selector 作为参数,而不是正则是一个。因此,"非法选择器"。

考虑到这一点,只有:header选择器仅选择标题。但是,我不确定它是否与capaybara链接

相关内容

  • 没有找到相关文章

最新更新