WWW :: Mechanize在另一帧中提交后获取帧

时间:2011-07-19 06:52:37

标签: perl

我有一个3帧的网页。第一帧具有表单,并且在提交表单时,第二帧加载一些数据。我需要能够读取第二帧中的数据。到目前为止,我有这个,

# Use WWW::Mechanize to download webpage
my $mechanize = WWW::Mechanize->new(
        noproxy  => 0,
        stack_depth => 5,
        autocheck => 1
);
$mechanize->proxy( https => undef );
my @frames;
eval{
    my $me=$mechanize->get('link');
    $me->is_success or die $me->status_line;
    @frames = $mechanize->find_link( 'tag' => 'frame' ); # three frames
    $me=$mechanize->get($frames[0]->url);
    $me->is_success or die $me->status_line;
};

my $rb_value = 2000;
my $dt = '06/30/2011'
$mechanize->set_fields(
    'idxevent' => $rb_value,
    'mindate' => $dt
);
$mechanize->submit();

现在我需要检索第二帧的内容。我能为此做些什么?

2 个答案:

答案 0 :(得分:0)

按照WWW::Mechanize::Frames的概要。

答案 1 :(得分:0)

不要打扰框架集,直接拿到框架的框架并提交它。在变量中获取$ mechanize-> submit()的结果,然后您可以通过调用content()方法来访问它:

$result = $mechanize->submit();
print $result->content();

Mechanize不关心框架集和提交目标,它只是从服务器获得回复,因此同样适用于正常的无框架布局。

您可以找到示例here