def tags_exact(class_names:, value: nil)
      return unless class_names.is_a? Array

      class_names.flat_map do |class_name|
        value ? eles_by_json_visible_exact(class_name, value) : tags(class_name)
      end
    end
def tags_exact(class_names:, value: nil)
      return unless class_names.is_a? Array

      class_names.flat_map do |class_name|
        value ? eles_by_json_visible_exact(class_name, value) : tags(class_name)
      end
    end
Returns all visible elements matching class_names and value.
 This method calls find_element/s and element.value/text many times.
 So, if you set many class_names, this method's performance become worse.

 @param class_names [Array[String]] the class_names to search for
 @param value [String] the value to search for
 @return [Array[Element]]