Ruby-机械化:未定义的方法“button_with”

Ruby-Mechanize: undefined method `button_with'

我的 ruby 脚本抛出错误:未定义的方法“button_with”。 ruby 版本为 1.9.3-p484,Mechanize 版本为 2.5.1。 我检查了 Mechanize 帮助,v2.5.1 与 Ruby v1.9.3.

兼容
form = a.page.form_with(:id => "form-name")
button = form.button_with(:value => "Submit Request")
a.submit(form, button)

a - 是我之前初始化的 Mechanize 代理

有人可以指导我可能是什么问题或如何调试它吗?

谢谢!

<form id="form-name" action="/xyz_ajax" method="POST" onsubmit="return false;">
    <div class="form-footer">
          <button class="button button-size-default button-default" type="submit" onclick=";return true;" id="export-csv"><span class="button-content">Export report</span></button>
      <span class="csv-status" id="status-text">
          &nbsp;CSV export is finished.
      </span>
       &nbsp;<a id="download-url" href="/url/sample/abc.htm">Submit Request</a>
    </div>
    <input type="hidden" name="session_token" value="abcde1234">
      <input type="hidden" name="csv_export" value="1">
      <input type="hidden" name="report" value="True">
  </form>

它说 NoMethodError: undefined method 'button_with' for nil:NilClass 吗?

这意味着 formnil 因为 form_with(:id => "form-name") 找不到您的表格。