ruby - 如何根据其拥有的字段使用 Mechanize 选择表单?

标签 ruby forms web-scraping screen-scraping mechanize

我正在使用 Mechanize 进行一些简单的网页抓取。

在一个网页中,我有几个表格,表格没有 id 或 name。

我知道如何区分表单的唯一方法是通过名称为 a 的隐藏输入字段。 .

我如何使用它作为选择正确表格的标准?

最佳答案

尝试手动选择:

require 'mechanize'

agent = Mechanize.new

page = agent.get('http://somesite.com/')
forms = page.forms.select {|form| form.fields.any? {|field| field.name == 'a' && field.type == 'hidden'}}
form = forms[0] unless forms == []

关于ruby - 如何根据其拥有的字段使用 Mechanize 选择表单?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25009083/

相关文章:

Python 抓取谷歌金融

ruby-on-rails - 如果字符串为空则返回一些默认值

ruby - 抢救 Selenium Webdriver 中的 ScriptError?

ruby - Capybara-1.1.1 与 capybara 冲突 (~> 0.4.0)

Django ModelForms - 'instance' 未按预期工作

javascript - 通过 Javascript 使用网页抓取时,只能在出现用户激活错误时显示文件选择器对话框

arrays - 我想将循环的结果存储到数组中

javascript - 当通过load() ajax函数提交表单时,如何清除文本框中的文本

php - 如何制作(最佳方式)特定的自定义 Symfony 2 表单元素类型?

javascript - phantomjs - 页面加载后执行 Javascript 函数,然后输出新的更改