Search code examples
ruby-on-railsrspeccapybara

Capybara not finding meta tags


Capybara 2.1.0 doesn't seem to find any meta tags:

(rdb:1) p page.find 'meta'
*** Capybara::ElementNotFound Exception: Unable to find css "meta"

even when they appear in page.source:

(rdb:1) p page.source
"<!doctype html>\n<html>\n<head>\n<title>MyTitle</title>\n<meta charset='utf-8'>\n<meta content='IE=edge,chrome=1' http-equiv='X-UA-Compatible'>\n<meta content='width=device-width, initial-scale=1' name='viewport'>\n<meta name='description'>\n\n..."

Solution

  • The solution was to use :visible => false either in find or in have_selector:

    page.should have_css 'meta[name="description"]', visible: false
    

    or:

    page.find 'meta[name="description"]', visible: false