【问题标题】:Why can't WWW::Mechanize::Firefox locate it's "new" method?为什么 WWW::Mechanize::Firefox 找不到它的“新”方法?
【发布时间】:2011-01-15 01:47:54
【问题描述】:

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

无法通过包“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 插件。为什么找不到新的?

【问题讨论】:

  • 如果合适,您能否将答案标记为正确,以便我们知道解决方案是什么?

标签: perl mechanize www-mechanize


【解决方案1】:

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

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

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

-最大

【讨论】:

    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

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

      【讨论】:

      • 缺少依赖会导致它在“使用”时立即失败,而不是在他调用 ->new() 时。
      猜你喜欢
      • 2017-01-22
      • 1970-01-01
      • 1970-01-01
      • 2016-04-12
      • 1970-01-01
      • 1970-01-01
      • 2012-12-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多