我有一个登录到表单的页面。登录后有几个重定向。第一个是这样的:如何从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