2010-02-10 67 views
1

我收到以下錯誤,當我運行的小示例腳本:爲什麼WWW :: Mechanize :: Firefox找不到它是「新」的方法?

無法找到對象的方法「新」通過包「WWW ::機械化::火狐」(也許 你忘了裝載「WWW ::機械化::火狐「?)在mechtest.pl線2

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 ::機械化:: Firefox中,我已經安裝在Firefox上MozRepl插件。爲什麼它不能找到新的?

+1

如果合適,您是否可以將答案標記爲正確,以便我們知道解決方案是什麼? – 2011-11-21 16:06:34

回答

1

聽起來像WWW :: Mechanize :: Firefox沒有正確安裝。重新啓動並確認它已正確安裝(cpan,ppm等)。

1

該模塊需要一些依賴像MozRepl::RemoteObject等 你或許應該重新安裝使用CPAN或ppm(如果使用的ActiveState)等

+0

我使用PPM進行安裝。 – SJaguar13 2010-02-10 04:01:52

+0

缺少依賴關係會導致它在遇到'use'時立即失敗,而不是在他調用 - > new()時失敗。 – 2010-02-11 12:02:00

5

最有可能你是在Windows和有一箇舊版本的WWW的::機械化:: Firefox已安裝。那個舊版本當時(嚴重)名爲Fire_F_ox(注意大寫字母F)。看你的機器上是否有文件FireFox.pm。

Windows具有不區分大小寫的文件系統,因此即使您請求加載文件Firefox.pm,也會很高興地加載文件FireFox.pm。

解決方案是卸載WWW :: Mechanize :: FireFox並安裝WWW :: Mechanize :: Firefox。另外,對於將來的報告,如果您告訴我們Perl的版本,模塊的版本和您使用的操作系統,它會極大地幫助您。

-max

相關問題