{"record":{"id":"96f7305bdd9e9cd1","repo":"teamcapybara/capybara","slug":"select-error-message-and-dlinput-error-messag","errorCode":null,"errorMessage":"#{select_error.message} and #{dlinput_error.message}","messagePattern":"#(.+?) and #(.+?)","errorType":"exception","errorClass":"Capybara::ElementNotFound","httpStatus":null,"severity":"error","filePath":"lib/capybara/node/actions.rb","lineNumber":319,"sourceCode":"          ff = file_field || find(:file_field, locator, **options.merge(visible: :all))\n          while_visible(ff, make_visible) { |el| el.set(paths) }\n        else\n          (file_field || find(:file_field, locator, **options)).set(paths)\n        end\n      end\n\n    private\n\n      def find_select_or_datalist_input(from, options)\n        synchronize(Capybara::Queries::BaseQuery.wait(options, session_options.default_max_wait_time)) do\n          find(:select, from, **options)\n        rescue Capybara::ElementNotFound => select_error # rubocop:disable Naming/RescuedExceptionsVariableName\n          raise if %i[selected with_selected multiple].any? { |option| options.key?(option) }\n\n          begin\n            find(:datalist_input, from, **options)\n          rescue Capybara::ElementNotFound => dlinput_error\n            raise Capybara::ElementNotFound, \"#{select_error.message} and #{dlinput_error.message}\"\n          end\n        end\n      end\n\n      def select_datalist_option(input, value)\n        datalist_options = input.evaluate_script(DATALIST_OPTIONS_SCRIPT)\n        option = datalist_options.find { |opt| opt.values_at('value', 'label').include?(value) }\n        raise ::Capybara::ElementNotFound, %(Unable to find datalist option \"#{value}\") unless option\n\n        input.set(option['value'])\n      rescue ::Capybara::NotSupportedByDriverError\n        # Implement for drivers that don't support JS\n        datalist = find(:xpath, XPath.descendant(:datalist)[XPath.attr(:id) == input[:list]], visible: false)\n        option = datalist.find(:datalist_option, value, disabled: false)\n        input.set(option.value)\n      end\n\n      def while_visible(element, visible_css)","sourceCodeStart":301,"sourceCodeEnd":337,"githubUrl":"https://github.com/teamcapybara/capybara/blob/15b5fdb76e972e9623d5af2123ed3755594f9732/lib/capybara/node/actions.rb#L301-L337","documentation":"Error \"#{select_error.message} and #{dlinput_error.message}\" thrown in teamcapybara/capybara.","triggerScenarios":"Thrown at lib/capybara/node/actions.rb:319 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"15b5fdb76e972e9623d5af2123ed3755594f9732","analyzedAt":"2026-08-21T16:53:45.588Z","schemaVersion":2},"datasetVersion":"2026-08-21T18:17:14.833Z"}