2012-12-17 66 views
0

我試圖在使用機械化的某些網站上執行搜索,但無法提交搜索表單,因爲機械化沒有看到任何表單。 page.form返回nil和page = agent.get回報,同時我希望像機械化和不可見的搜索表單

<Mechanize::Form 
{name "somename"} 
{method "GET"} 
{action "/search"} 

是因爲搜索表單使用JavaScript只是{forms}>?有什麼辦法可以解決這個問題嗎?或者唯一的辦法是放棄機械化和使用別的東西?

+1

機械不能做JavaScript。 http://stackoverflow.com/questions/802225/how-do-i-use-mechanize-to-process-javascript – Unixmonkey

+0

你可以發佈網址到你想要抓取的網頁嗎? Unixmonkey是絕對正確的。您也可以使用webdriver(如waitir)先加載頁面。 – sunnyrjuneja

+0

這是頁面http://s.weibo.com/我知道機械化與js有問題,但我不確定這個具體問題是否因爲js。我希望可能有一些解決方法...對於機械化似乎是完美的我的需求和使用別的東西的想法讓我傷心) – hiirulainen

回答

0

這意味着該頁面上沒有任何表單。解決方法是到get下一頁,這是僞裝成表單提交的頁面。

換句話說,當我鍵入「富」的搜索框中,點擊按鈕我重定向到: http://s.weibo.com/weibo/foo&Refer=index 所以才get該網頁,用它做什麼。