【问题标题】:Use inherited method from another module使用从另一个模块继承的方法
【发布时间】:2014-10-11 05:07:16
【问题描述】:

我正在使用模块WWW::Mechanize::PhantomJS,它继承自WWW::Mechanize。但是,在 PhantomJS 中,某些方法(例如 mirror)似乎不起作用。

Can't locate object method "mirror" via package "WWW::Mechanize::PhantomJS" at ...

如何通过 PhantomJS 中的对象使用此方法?

【问题讨论】:

    标签: perl module phantomjs mechanize


    【解决方案1】:

    据我所知,WWW::Mechanize::PhantomJS 不继承自 WWW::Mechanize。相反,它试图模仿WWW::Mechanize 的接口,但使用phantomjs 作为底层。因为 PhantomJS 自己完成所有网络访问,而不是 WWW::Mechanize 的基础 LWP::UserAgent,所以您不能简单地在 WWW::Mechanize::PhantomJS 中重用来自 WWW::Mechanize 的镜像方法。

    【讨论】:

    • 在这种情况下,我决定创建两个对象; my $url = WWW::Mechanize->new();my $phantom = WWW::Mechanize::PhantomJS->new();
    • @KeplerBR:只要您只有简单的资源静态链接,并且没有由 JavaScript WWW::Mechanize 动态生成就足够了。但是一旦你需要 JavaScript WWW::Mechanize 就不够了。
    猜你喜欢
    • 2016-05-15
    • 1970-01-01
    • 2012-08-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-13
    • 2012-05-28
    • 2021-11-30
    • 1970-01-01
    相关资源
    最近更新 更多