切换到无头后如何忽略额外的空格 chrome

How to ignore extra whitespaces after switching to headless chrome

最近我将我的黄瓜测试从 capybara-webkit 切换到无头 chrome。现在很多功能都失败了

expected to find text "commented by J. Smitch" in "commented by[two spaces there]J. Smith"

有没有办法让 Capybara 忽略多余的空格? 或者我需要在步骤定义中添加空格以使失败的测试变为绿色?

更新 1

我的标记中有   个空格,它们没有像这样规范化

<div>
  commented by
  &nbsp;
  <span>J. Smith</span>
</div>

我猜你从 capybara-webkit 切换到 selenium with headless chrome 的同时你也从 Capybara 2.x 切换到 3.x。 Capybara 3.x 的重大变化之一是它会尝试 return 空白,因为用户会实际看到它。这意味着如果你有  标记中的字符它们不会与周围的空间一起折叠,因为浏览器不会这样做。您可以使用 normalize_ws 选项返回更像 2.x

的结果
expect(page).to have_text('blah blah', normalize_ws: true)

但是,如果您不厌其烦地添加  将字符添加到您的页面,您可能应该检查文本是否按照您的预期显示了多个空格。