机械化无法通过行动找到形式

时间:2016-03-03 23:02:41

标签: 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.body的输出中看到,在html中存在一个我正在寻找的动作的表单,但pp形式只打印nil

1 个答案:

答案 0 :(得分:2)

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

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

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

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

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

你可以潜入Selenium's documentation来绕过你想要做的事情。