Ruby Mechanize - 无法获取特定的选择列表

标签 ruby forms mechanize

我知道这适用于我尝试过的其他表单/选择列表。这个特定的似乎不是 ajax。谁能解释一下吗?

# encoding: UTF-8
require 'rubygems'
require 'mechanize'
require 'open-uri'

agent = Mechanize.new
page = agent.get('http://espn.go.com/nba/team/transactions/_/name/bos/boston-celtics')

form = page.form_with(:class => "js-goto")
fields = form.field_with(:class => "tablesm")

puts fields

它应该返回类似 #<Mechanize::Form::SelectList:0x007ffdd3930138> 的内容

最佳答案

该选择列表没有名称属性,这使得它作为表单字段毫无用处。 您仍然可以获得导航 nokogiri 风格所需的数据:

page.at('select.tablesm option[text()="2008"]')[:value]
#=> "http://espn.go.com/nba/team/transactions/_/name/bos/year/2008/boston-celtics"

关于Ruby Mechanize - 无法获取特定的选择列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13850204/

相关文章:

ruby-on-rails - 将在有序列表上分页

javascript复选框到按钮

ruby - 无方法错误 : ruby gem mechanize undefined method 'q= '

Let's Encrypt Root Certificate Expiration 和 OpenSSL 1.0.2 的 Ruby/Mechanize 解决方法

html - 用 Mechanize 解析html页面以接收适当的数组

ruby-on-rails - Rails JSON 多重嵌套关联

mysql - 如何使用 SSL 连接对 Mysql 运行 Sequel 迁移

ruby - Ruby 中关于 require、require_relative、include 的困惑

javascript - 以漂亮的方式格式化查询参数

javascript - 尝试将信息发布到其他页面时权限被拒绝?