为什么WWW :: Mechanize找不到合适的表格?

时间:2010-09-14 12:01:38

标签: perl www-mechanize

我正在使用WWW :: Mechanize从网页中检索表单:

#!/usr/bin/perl

use WWW::Mechanize;

my $mechanize = WWW::Mechanize->new();

$mechanize->proxy(['http', 'ftp'], 'http://proxy/');

$mechanize->get("http://www.temp.com/");

$mechanize->form_id('signin');

网站HTML的代码如下

<form action="https://www.temp.com/session" id="signin" method="post">

但我收到了错误

 There is no form with ID "signin" at SiteScraper.pl

我该怎么办?

1 个答案:

答案 0 :(得分:0)

如果不确切知道错误,您可以尝试输出WWW :: Mechanize能够在响应中找到的任何形式:

use Data::Dumper;
print Dumper($mechanize->forms());

它应输出所有表格及其各自的属性等。

仔细检查表单是否在转储中,否则出现问题。然后检查表单的 - &gt; {attr} - &gt; {id}是否也是您所期望的。

您还可以尝试使用其他方式选择表单,例如按名称,看看是否有帮助。