我正在尝试在正在开发的应用程序中写入某些通用的东西。头部元素在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链接