ruby - Mechanize 无法通过行动找到形式

标签 ruby mechanize

我有以下代码

mechanize = Mechanize.new do |agent| 
    agent.user_agent_alias = 'Windows Chrome'
end
page = mechanize.get("https://sports.bwin.com/en/sports#leagueIds=6004&sportId=7")
puts page.body
form = page.form_with(:action => "/en/sports/indexmultileague")
pp form

我可以从 puts page.body 的输出中看到,html 中存在带有我正在寻找的操作的表单,但 pp 表单只打印 nil

最佳答案

当我查看页面源代码时,我无法看到带有该操作的表单。

但是,使用 Chrome 检查器工具(显示动态内存中页面源),我能够看到该表单。

这意味着表单是通过脚本和 Mechanize 动态生成的。不支持脚本。

您将需要使用支持脚本的 Web 驱动程序。

例如,如果您使用 Selenium,您可以查看表单部分 here .

您可以进入 Selenium's documentation绕过你正在尝试做的事情。

关于ruby - Mechanize 无法通过行动找到形式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35784807/

相关文章:

css - Mechanize page.search 不适用于 link.click 方法

ruby - 将元素添加到数组到嵌套循环中

ruby-on-rails - Mechanize - 如何在 rails 中遵循或 "click"元刷新

ruby - 使用 Ruby Mechanize 下载文件

python - 不使用提交按钮提交,Mechanize

python - 提交表单,并在python中使用mechanise获取结果

python - 如何使用python和 Mechanize 从php页面获取所有链接

ruby - crontab 执行命令但 ruby​​ 脚本没有运行

ruby-on-rails - OS X Mavericks,无法安装 libxml-ruby gem?

javascript - 在 Sinatra (ruby) 中实现 JS 模糊搜索