Capybara is not able to find a <p>
tag by it's id in my cucumber test. I'm able to see the element when I save_and_open_page
. But I can't locate it with has_css?
or find
:
pry(#<Object>)> page.html.scan(/notice_sent/).count
=> 1
pry(#<Object>)> page.html.scan(/id=\"notice_sent\"/).count
=> 1
pry(#<Object>)> 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'
What am I missing?
I think, it is time to update capybara for the very beginning.
And, I can not test it out now, but try
page.html.find('#notice_sent')
Though I am a newbie to Capybara, I think this might work for you !!
Also, add this code to your
env.rb
file.By default Capybara doesn't find elements that are not visible on the page. You can try
to see if that's the case. If so, and you're testing an app, then you should perform whatever actions a user would perform that would make that element visible, and then check for its presence.