teamcapybara/capybara · error · Selenium::WebDriver::Error::InvalidArgumentError

EdgeChrome can't click on file inputs. #{e.message}

Error message

EdgeChrome can't click on file inputs.
#{e.message}

What it means

Error "EdgeChrome can't click on file inputs. #{e.message}" thrown in teamcapybara/capybara.

Source

Thrown at lib/capybara/selenium/nodes/edge_node.rb:40

          arguments[0].value = null;
        }
      JS
    end
    super
  end

  def drop(*args)
    return super unless chrome_edge?

    html5_drop(*args)
  end

  def click(*, **)
    super
  rescue Selenium::WebDriver::Error::InvalidArgumentError => e
    tag_name, type = attrs(:tagName, :type).map { |val| val&.downcase }
    if tag_name == 'input' && type == 'file'
      raise Selenium::WebDriver::Error::InvalidArgumentError, "EdgeChrome can't click on file inputs.\n#{e.message}"
    end

    raise
  end

  def disabled?
    return super unless chrome_edge?

    driver.evaluate_script("arguments[0].matches(':disabled, select:disabled *')", self)
  end

  def select_option
    return super unless chrome_edge?

    # To optimize to only one check and then click
    selected_or_disabled = driver.evaluate_script(<<~JS, self)
      arguments[0].matches(':disabled, select:disabled *, :checked')
    JS

View on GitHub (pinned to 15b5fdb76e)

When it happens

Trigger: Thrown at lib/capybara/selenium/nodes/edge_node.rb:40 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/50c528844a8e0fd2. Report an issue: GitHub.