我正在使用mechanize并在使用脚本/控制台在rails环境中进行测试时遇到继承问题。
当我写这样的时候:
require 'rubygems'
require 'mechanize'
agent = WWW::Mechanize.new
agent.get 'http://www.google.com'
一切正常。但是当我尝试像这样创建一个WWW :: Mechanize的子类时:
require 'rubygems'
require 'mechanize'
class Alfa < WWW::Mechanize; end
agent = Alfa.new
agent.get 'http://www.google.com'
我收到以下错误:
NoMethodError:当你没想到它时,你有一个零对象! 评估nil.parse时发生错误 来自/Library/Ruby/Gems/1.8/gems/mechanize-0.9.3/lib/www/mechanize/page.rb:77:in`s parser'
我错过了什么吗?
提前致谢
答案 0 :(得分:2)
当你继承WWW :: Mechanize时,没有提供HTML解析器:这就是错误行实际告诉你的。
这有效:
class Agent < WWW::Mechanize
end
a = Agent.new
a.html_parser = Nokogiri::HTML
a.get 'http://www.google.com'