Answers:
只需使用Capybara的确切选项即可:
Capybara.exact = true
使用正则表达式而不是字符串作为:text
键的值:
find("a", :text => /\ABerlin\z/)
查看Method: Capybara::Node::Finders#all
文档的“选项哈希”部分。
PS:文本匹配区分大小写。您的示例代码实际上引发了一个错误:
find("a", :text => "berlin")
# => Capybara::ElementNotFound:
# Unable to find css "a" with text "berlin"
click_link(link_text, :text => link_text)
我的偏好是使用have_selector
with text
和exact_text: true
:
expect(body).to have_selector 'a', text: 'Berlin', exact_text: true