为什么WWW :: Mechanize :: Firefox无法找到它的“新”方法?

时间:2010-02-10 00:49:03

标签: perl mechanize www-mechanize

运行小样本脚本时出现以下错误:

无法通过软件包“WWW :: Mechanize :: Firefox”定位对象方法“new”(也许 你忘了在mechtest.pl第2行加载“WWW :: Mechanize :: Firefox”?)。

use WWW::Mechanize::Firefox;
my $mech = WWW::Mechanize::Firefox->new();
$mech->get('http://google.com');

$mech->eval_in_page('alert("Hello Firefox")');
my $png = $mech->content_as_png();

我安装了WWW :: Mechanize :: Firefox,我在Firefox上安装了MozRepl插件。为什么不能找到新的?

3 个答案:

答案 0 :(得分:5)

很可能你在Windows上安装了旧版本的WWW :: Mechanize :: Firefox。那个旧版本当时(非常)命名为Fire_F_ox(注意大写字母F)。看看你的机器上是否有FireFox.pm文件。

Windows具有不区分大小写的文件系统,因此即使您请求加载文件Firefox.pm,也会很乐意加载文件FireFox.pm。

解决方案是卸载WWW :: Mechanize :: FireFox并安装WWW :: Mechanize :: Firefox。此外,对于将来的报告,如果您告诉我们Perl的版本,模块的版本以及您使用的操作系统,它会给您带来极大的帮助。

-max

答案 1 :(得分:1)

听起来像WWW :: Mechanize :: Firefox安装不正确。重新启动并确认它已正确安装(cpan,ppm等)。

答案 2 :(得分:1)

该模块需要一些依赖项,如MozRepl::RemoteObject等。 您可能应该使用cpan或ppm(如果使用ActiveState)等重新安装