使用perl填充表单WWW::Mechanize::Formfiller

使用perl填充表单WWW::Mechanize::Formfiller,perl,www-mechanize,Perl,Www Mechanize,我想从有互动菜单的网站下载信息。在使用 perl -MWWW::Mechanize::Shell -e shell get http://revigo.irb.hr/ fillout ... submit script 最终代码如下: use strict; use WWW::Mechanize; use WWW::Mechanize::FormFiller; use URI::URL; my @go_terms=qw/GO:000

我想从有互动菜单的网站下载信息。在使用

perl -MWWW::Mechanize::Shell -e shell
get http://revigo.irb.hr/
fillout
...
submit
script
最终代码如下:

      use strict;
      use WWW::Mechanize;
      use WWW::Mechanize::FormFiller;
      use URI::URL;

      my @go_terms=qw/GO:0006612 GO:0045862 GO:0048545 GO:0007568 GO:0046326 GO:0051901  GO:0010524 GO:0006044 GO:0032024/;
      my $go_string=join("\n",@go_terms);
      my $agent = WWW::Mechanize->new( autocheck => 1 );
      my $formfiller = WWW::Mechanize::FormFiller->new();
         $agent->env_proxy();

      $agent->get('http://revigo.irb.hr/');
      $agent->form_number(1) if $agent->forms and scalar @{$agent->forms};
      $formfiller->add_filler( 'goList' => Fixed => $go_string);
      $formfiller->add_filler( 'cutoff' => Fixed => '0.4' );
      $formfiller->add_filler( 'isPValue' => Fixed => 'yes' );
      $formfiller->add_filler( 'whatIsBetter' => Fixed => 'higher' );
      $formfiller->add_filler( 'goSizes' => Fixed => '0' );
      $formfiller->add_filler( 'measure' => Fixed => 'SIMREL' );
      $formfiller->fill_form($agent->current_form);

   my $request = $agent->click("startRevigo");
      print $request->as_string;
但是,我收到以下错误消息“错误发布:revigo.mechanize.pm第21行的内部服务器错误” 有人能帮我解决这个问题吗?
提前感谢

goSizes
必须具有有效值,例如
0
。您可以通过使用轻松找到这一点。

最初,第21行包含我的$request=$agent->click(“startRevigo”);谢谢,这个问题现在解决了。谢谢daxim,codde现在可以使用gosizes设置为0(默认值)或我在页面源代码中找到的其他合适的值