1

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

无法在 mechtest.pl 第 2 行通过包“WWW::Mechanize::Firefox”(也许您忘记加载“WWW::Mechanize::Firefox”?)找到对象方法“new”。

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 插件。为什么找不到新的?

4

3 回答 3

5

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

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

解决方案是卸载 WWW::Mechanize::FireFox 并安装 WWW::Mechanize::Firefox。此外,对于未来的报告,如果您告诉我们 Perl 的版本、模块的版本和您使用的操作系统,它会非常有帮助。

-最大限度

于 2010-02-11T08:18:37.520 回答
1

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

于 2010-02-10T01:09:34.553 回答
1

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

于 2010-02-10T02:10:50.643 回答