我有一個登錄到表單的頁面。登錄後有幾個重定向。第一個是這樣的:如何從Mechanize :: File對象轉換爲Mechanize :: Page對象?
#<Mechanize::File:0x1f4ff23 @filename="MYL.html", @code="200", @response={"cache-control"=>"no-cache=\"set-cookie\"", "content-length"=>"114", "set-cookie"=>"JSESSIONID=GdJnPVnhtN91KZfQPc3QzM1NLCyWDsnyvpGg8LL0Knnz3RgqxLFs!1803804592!-2134626567; path=/; secure, COOKIE_TEST=Aslyn; secure", "x-powered-by"=>"Servlet/2.4 JSP/2.0"}, @body="\r\n<html>\r\n <head>\r\n <meta http-equiv=\"refresh\" content=\"0;URL=MYL?Select=OK&StateName=38\">\r\n </head>\r\n</html>", @uri=#<URI::HTTPS:0x16e1eff URL:https://www.manageyourloans.com/MYL?StateName=global_CALMLandingPage&GUID=D1704621-1994-E076-460A-10B2B682B960>>
所以當我在這裏做一個page.class我得到
Mechanize::File
如何將其轉換成一個Mechanize::Page
?
@pguardiario
爲了更好地解釋我在我的原始消息的代碼存儲在頁。
當我做page.class我得到機械化::文件
於是我EXCUTE上面代碼:
agent = Mechanize.new
agent.post_connect_hooks << lambda {|http| http[:response].content_type = 'text/html'}
所以我這樣做: agent.get(page.uri.to_s ) 或事件試圖用任何URL agent.get( 「https://www.manageyourloans.com/MYL」) 我得到一個錯誤: 引發ArgumentError:錯誤的參數數目(4 1)
我甚至試過這樣:
agent = Mechanize.new { |a|
a.post_connect_hooks << lambda { |_,_,response,_|
if response.content_type.nil? || response.content_type.empty?
response.content_type = 'text/html'
end
}
}
我的問題是一旦我這樣做,我如何將前一頁轉換爲一個Mechanize :: Page?
我的工作,通過這個答案,我使用這個:'code'page =機械化: :Page.new(URI.parse(page.uri.to_s),零,page.body)'code'。我得到一個錯誤:未定義的方法'[]'爲零:NilClass – user1198316 2012-04-24 12:11:17
偉大的答案,適合我! – 2012-09-11 14:59:14