1

我正在使用 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

我该怎么办?

4

1 回答 1

1

在不知道确切可能是错误的情况下,您可能会尝试使用以下命令输出 WWW::Mechanize 能够在响应中找到的任何形式:

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

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

仔细检查表格是否在转储中,否则有问题。然后检查表单的 ->{attr}->{id} 是否也是您所期望的。

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

于 2010-09-28T11:03:45.400 回答