2016-03-03 73 views
0

找到形式,我有以下代碼機械化不能行動

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 

我可以放的輸出看到page.body與我正在尋找的動作形式在HTML中存在,但pp表格只是打印無

+0

您確定該表格不是由JavaScript創建的嗎? –

+0

這是否意味着機械化無法得到它?我的理解是,它以與瀏覽器相同的方式解析最終的輸出HTML? – db579

+0

@ db579你能分享你試圖獲取表單的頁面的網址嗎?更好地編輯答案並在那裏添加它,假設它不是一個密碼保護頁面,它將需要您的用戶名/密碼 –

回答

2

當我查看頁面源時,我無法看到這樣的表單。

但是,使用Chrome檢查器工具(顯示動態內存頁面源),我能夠看到該表單。

這意味着窗體是通過腳本動態生成的,並且Mechanize不支持腳本。

您將需要使用支持腳本的網絡驅動程序。

例如,如果您使用的是硒,您可以查看錶格部分here

你可以潛入Selenium's documentation來解決你想要做的事情。

+0

我明白了。我很感激這可能超出了這個問題的範圍,但是你能夠發佈一個例子嗎? – db579

+0

@ db579答覆已更新 –