0

submit_form在 WWW::Mechanize 中使用的函数如下:

eval{
    my $me = $mechanize->submit_form( form_id => 'signin', 
    fields => { 
        login => 'abc', 
        password => 'def'} );
    $me->is_success or die $me->status_line;
};

尽管这会引发错误,Unknown submit_form parameter "form_id"但它仍然会检索页面。为什么会抛出这个错误?

4

1 回答 1

2

您使用的是哪个版本的 WWW::Mechanize?( print "$WWW::Mechanize::VERSION\n";)

旧版本(例如 2008 年的 1.50 甚至 2009 年 1 月的 1.54)不支持 form_id 参数。

它最初是在 WWW::Mechanize 的 1.55_01 开发者版本或 1.56 稳定版本中引入的(如果您浏览不同版本 WWW::Mechanize 中 submit_form() 方法的第一行(验证参数名称),您可以很容易地看到在 CPAN 上。

要更新,这取决于您的安装是什么(Unix?Windows?集中安装?)但通常的方法是使用 CPAN 的“cpan”包装器。您可以在 StackOverflow 中搜索 CPAN 安装问题,并询问您自己是否与您的情况相符。

于 2010-10-19T10:31:26.193 回答