【问题标题】:How to parse malformed HTML with Ruby and Mechanize如何使用 Ruby 和 Mechanize 解析格式错误的 HTML
【发布时间】:2011-09-11 09:13:37
【问题描述】:

我正在使用 Mechanize 导航一个 HTML 格式错误的网站。特别是,我有一个页面,该页面具有表单之外的复选框,服务器可以正常处理请求。

我想选中这些框并单击表单外的“提交”按钮,但是,我不能使用 Form.checkbox_with,因为我没有 Form 对象,我只有Page。我可以使用

找到页面上的复选框
page.search("//input[@name='silly-checkbox']")

但是之后我无法检查它,因为 Nokogiri 仅用于抓取并且不跟踪状态。不对吗?

当我的复选框不在表单中时,如何获取Mechanize::Form::Checkbox 对象?

【问题讨论】:

    标签: ruby screen-scraping nokogiri mechanize


    【解决方案1】:

    您可以使用 Nokogiri 手动加载远程页面,然后通过在表单外找到复选框并包装它们来修复标记,并使用固定的 HTML 代码自己构建 Mechanize 类。

    【讨论】:

      【解决方案2】:

      您可以通过删除和合并新字段来修改表单。

      form.add_field!('gender', 'male')
      

      rdoc here

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-04-23
        • 2012-02-03
        • 1970-01-01
        • 2012-04-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-04-05
        相关资源
        最近更新 更多