2011-07-19 24 views
0

我有一个带有3个框架的网页。第一帧有一个表单,当表单提交时,第二帧加载一些数据。我需要能够读取第二帧中的数据。我到目前为止是这样的,WWW ::在另一个框架中提交后机械化获取框架

# 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(); 

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

回答

0

不要打扰框架集,直接获取框架的URL并提交它。获取的$ mechanize-结果>提交()的一个变量,然后就可以通过调用内容()方法来访问它:

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

机械化并不仅仅关心框架和提交目标,它从服务器获得答复,所以同样适用于正常的无帧布局。

你可以找到一个例子here

相关问题