如果页面有选择器 - Capybara

Ric*_*wis 1 ruby rspec capybara

我正在尝试实现一个简单的逻辑,说明页面上是否存在元素执行某些操作

我面临的问题是,如果该元素不存在,则find提供的方法将返回异常并且我的测试将失败。

(Capybara::ElementNotFound)
Run Code Online (Sandbox Code Playgroud)

所以例如我想做类似的事情:

if page.find(".element")
  do something
end
Run Code Online (Sandbox Code Playgroud)

如果该元素不存在,则测试应照常进行。

有没有办法做到这一点?

bor*_*ano 5

考虑使用这样的东西:

if page.has_css?('selector')
  do something
end
Run Code Online (Sandbox Code Playgroud)

此方法描述为here