如何在 Capybara have_css/have_selector 中使用 Regex 表达式?
How to use Regex expression in Capybara have_css/have_selector?
在 Rspec 水豚测试中我想检查没有 H4, H5, ..., H9 选择器存在。
我希望得到以下解决方案:
visit "/"
expect(page).not_to have_css(/(h|H)\[4-9]d/)
但是由于Nokogiri解析失败
我还注意到:
has_css?("h1")
# is not equal to
has_css?("H1")
一些备选方案:
1。只需创建一个稍微丑陋的期望并完成它:
visit "/"
expect(page).not_to have_css("h1,H1,h2,H2,h3,H3,h4,H4,h5,H5,h6,H6,h7,H7,h8,H8,h9,H9")
我使用以下代码片段生成了那个丑陋的选择器:
(1..9).map { |n| "h#{n.to_s},H#{n.to_s}" }.join(',')
2。创建不区分大小写的 XPath 选择器:
How can I create a nokogiri case insensitive Xpath selector?
3。使用 Nokogumbo
Nokogumbo 是一个 HTML5 解析器,它创建小写元素名称。
在 Rspec 水豚测试中我想检查没有 H4, H5, ..., H9 选择器存在。
我希望得到以下解决方案:
visit "/"
expect(page).not_to have_css(/(h|H)\[4-9]d/)
但是由于Nokogiri解析失败
我还注意到:
has_css?("h1")
# is not equal to
has_css?("H1")
一些备选方案:
1。只需创建一个稍微丑陋的期望并完成它:
visit "/"
expect(page).not_to have_css("h1,H1,h2,H2,h3,H3,h4,H4,h5,H5,h6,H6,h7,H7,h8,H8,h9,H9")
我使用以下代码片段生成了那个丑陋的选择器:
(1..9).map { |n| "h#{n.to_s},H#{n.to_s}" }.join(',')
2。创建不区分大小写的 XPath 选择器:
How can I create a nokogiri case insensitive Xpath selector?
3。使用 Nokogumbo
Nokogumbo 是一个 HTML5 解析器,它创建小写元素名称。