Is it possible to interact with hidden elements with capybara?
attachment, capybara
Solution
You can interact with hidden elements using the `visible: false` property in Capybara.
If you want to click on hidden element use:
find("#photos", visible: false).click
Don't use `click_button('#photo')` directly
Problem
I have a file field that has `opacity: 0` and is overlaping a fake button. Its a common css technic to fake a sort of "Upload button" that displays consistently across different browsers. Capybara doesn't allows me to call `attach_file` on that input. The error is `Selenium::WebDriver::Error::ElementNotVisibleError: Element is not currently visible and so may not be interacted with`. Anybody knows any way to force capybara to interact with invisible elements? The answer is still unanswered, but I've found a work around. Nothing intelligent, just make visible the element with a simple script ``` page.execute_script %Q{ $('#photos').css({opacity: 1, transform: 'none'}); } ``` I post it for the record.