我在WWW :: Mechanize中使用submit_form
函数,如下所示:
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"
的错误,但它仍会检索该页面。为什么会抛出这个错误?
答案 0 :(得分:2)
您使用的是哪个版本的WWW :: Mechanize? (print "$WWW::Mechanize::VERSION\n";
)
旧版本(例如2008年的1.50或2009年1月的1.54)不支持form_id参数。
它最初是在1.55_01开发者版本或者WWW :: Mechanize的1.56稳定版本中引入的(你可以很容易地看到,如果你浏览各种版本的WWW中的submit_form()方法的第一行(验证参数名称) ::机械化CPAN。
要更新,这取决于您的安装(Unix?Windows?集中安装?),但通常的方法是使用CPAN的“cpan”包装器。您可以搜索StackOverflow以获取CPAN安装问题,并询问您自己是否与您的情况无关。