除了 name 属性之外,是否有可能获得带有 Mechanize 的复选框?

Is it possible to get a checkbox with Mechanize other than name attribute?

我一直在尝试使用 Ruby 和 Mechanize 进行抓取。
我看到的网站说获取复选框并检查它的方法如下。

form.checkbox_with(:name => 'name').check

但是,我想要获取的复选框没有名称属性。
相反,它有一个 class 属性。是否可以像下面那样做,或者有其他方法可以实现吗?

form.checkbox_with(:class => 'class_name').check
form.checkbox_with(:class_name => 'class_name').check

版本
rails: 5.2.4.4
ruby: 2.6.3
机械化:2.7.6

根据source code是的

def elements_with singular, plural = "#{singular}s"
  class_eval <<-CODE
    def #{plural}_with criteria = {}
      selector = method = nil
      if String === criteria then
        criteria = {:name => criteria}
      else
        criteria = criteria.each_with_object({}) { |(k, v), h|
          case k = k.to_sym
          when :id
            h[:dom_id] = v
          when :class
            h[:dom_class] = v
          when :search, :xpath, :css
  ...

所以你可以使用任何一个

form.checkbox_with(class: 'class_name').check
# OR by xpath
form.checkbox_with(xpath: '//*[@id="someId"]/a[1]').check
# OR by id
form.checkbox_with(id: 'someId').check