teamcapybara/capybara · error · Capybara::ElementNotFound
#{select_error.message} and #{dlinput_error.message}
Error message
#{select_error.message} and #{dlinput_error.message} What it means
Error "#{select_error.message} and #{dlinput_error.message}" thrown in teamcapybara/capybara.
Source
Thrown at lib/capybara/node/actions.rb:319
ff = file_field || find(:file_field, locator, **options.merge(visible: :all))
while_visible(ff, make_visible) { |el| el.set(paths) }
else
(file_field || find(:file_field, locator, **options)).set(paths)
end
end
private
def find_select_or_datalist_input(from, options)
synchronize(Capybara::Queries::BaseQuery.wait(options, session_options.default_max_wait_time)) do
find(:select, from, **options)
rescue Capybara::ElementNotFound => select_error # rubocop:disable Naming/RescuedExceptionsVariableName
raise if %i[selected with_selected multiple].any? { |option| options.key?(option) }
begin
find(:datalist_input, from, **options)
rescue Capybara::ElementNotFound => dlinput_error
raise Capybara::ElementNotFound, "#{select_error.message} and #{dlinput_error.message}"
end
end
end
def select_datalist_option(input, value)
datalist_options = input.evaluate_script(DATALIST_OPTIONS_SCRIPT)
option = datalist_options.find { |opt| opt.values_at('value', 'label').include?(value) }
raise ::Capybara::ElementNotFound, %(Unable to find datalist option "#{value}") unless option
input.set(option['value'])
rescue ::Capybara::NotSupportedByDriverError
# Implement for drivers that don't support JS
datalist = find(:xpath, XPath.descendant(:datalist)[XPath.attr(:id) == input[:list]], visible: false)
option = datalist.find(:datalist_option, value, disabled: false)
input.set(option.value)
end
def while_visible(element, visible_css)View on GitHub (pinned to 15b5fdb76e)
When it happens
Trigger: Thrown at lib/capybara/node/actions.rb:319 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of teamcapybara/capybara@15b5fdb76e (2026-08-21).
Data as JSON: /api/errors/96f7305bdd9e9cd1.
Report an issue: GitHub.