我对使用Mechanize甚至是Ruby还是相当陌生,我正在使用它们来导航HTML格式严重错误的网站。特别是,我有一个页面,该页面的复选框超出了服务器尽管可以正确处理请求的形式。
我想选中这些框,然后单击表单外部的“提交”按钮。但是,我不能使用Form.checkbox_with
,因为我没有Form
对象,而只有Page
。我可以使用
page.search("//input[@name='silly-checkbox']")
但是据我所知,我以后无法检查它,因为Nokogiri仅用于抓取,并且不跟踪状态。如果不正确,请通知我。
当我的复选框不在表单中时,如何获得Mechanize::Form::Checkbox
对象?
您可以使用Nokogiri手动加载远程页面,然后通过查找表单外部的复选框并包装它们来修复标记,并通过固定的HTML代码自行构造Mechanize类。