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.