Capybara找不到id的元素
在我的黄瓜测试中,Capybara无法通过它的id找到
标签。 我在save_and_open_page
时能够看到元素。 但我无法用has_css?
找到它has_css?
或者find
:
pry(#)> page.html.scan(/notice_sent/).count => 1 pry(#)> page.html.scan(/id=\"notice_sent\"/).count => 1 pry(#)> page.find('#notice_sent') Capybara::ElementNotFound: Unable to find css "#notice_sent" from /Users/me/.gem/ruby/2.1.7/gems/capybara-2.4.4/lib/capybara/node/finders.rb:41:in 'block in find'
我错过了什么?
默认情况下,Capybara找不到页面上不可见的元素。 你可以试试
page.find('#notice_sent', visible: :all)
看看是否是这种情况。 如果是这样,并且您正在测试应用程序,那么您应该执行用户将执行的任何操作以使该元素可见,然后检查其存在。
虽然我是Capybara的新手,但我觉得这对你有用!!
page.find('#notice_sent', :visible => false)
另外,将此代码添加到env.rb
文件中。
Capybara.ignore_hidden_elements = false
我想,现在是时候更新水豚了。
而且,我现在无法测试它,但请尝试page.html.find('#notice_sent')