module Capybara::Selenium::Find

def find_by(format, selector, uses_visibility:, texts:, styles:, position:)

def find_by(format, selector, uses_visibility:, texts:, styles:, position:)
  els = find_context.find_elements(format, selector)
  hints = []
  if (els.size > 2) && !ENV['DISABLE_CAPYBARA_SELENIUM_OPTIMIZATIONS']
    els = filter_by_text(els, texts) unless texts.empty?
    hints = gather_hints(els, uses_visibility: uses_visibility, styles: styles, position: position)
  end
  els.map.with_index { |el, idx| build_node(el, hints[idx] || {}) }
end