How to use regex in a Capybara finder?

capybara, rspec, ruby, ruby-on-rails, tdd

Solution

You can check that an attribute starts with a certain value using `^=`:

find("img[src^='https://www.example.com/image']")

The article, The Skinny on CSS Attribute Selectors, describes the various checks (equals, starts with, ends with, etc.):

#Equals
find("img[src='https://www.example.com/image']")

#Contains somewhere
find("img[src*='https://www.example.com/image']")

#Begins with
find("img[src^='https://www.example.com/image']")

#Ends with
find("img[src$='https://www.example.com/image']")

Problem

The following works great: ``` find "img[src='https://www.example.com/image']" ``` But I want to also find ``` find "img[src='https://www.example.com/image?foo=bar']" ``` How to use a regex within the attribute in the finder?

Original source