[英]How to get content of a page after submitting form with WWW::Mechanize?
[英]WWW::Mechanize get content from page
我已经使用WWW::Mechanize
登录该站点。
现在,我们已经登录,我想使WWW::Mechanize
脚本进入payments.php
,然后找到活动的用户订阅(例如VIP Access)(类: <p class="description">
)。
由此,我想阅读的内容是什么,然后选择正确的操作。 例如,如果用户包装状态为VIP Small
然后打印PKG: VIP Small
并且如果用户包装状态为VIP Full
然后打印PKG: VIP Full
。
有人知道这样做的方法吗? 到目前为止使用的代码(在我的Ubuntu虚拟机中编码):
#!/usr/bin/perl
use WWW::Mechanize;
my $forum = "http://localhost/forums/forum.php";
print "Username\r\n";
my $username = <>;
chomp($username);
print "Password\r\n";
my $password = <>;
# do login
my $mech = WWW::Mechanize->new(agentcheck => 1, agent => 'Perl WWW::Mechanize');
$mech->get($forum);
$mech->submit_form(form_number => 1, fields => { vb_login_username => $username, vb_login_password = $password });
print "this far";
$mech->follow_link(text => "Click here if your browser does not automatically redirect you.");
我觉得你需要
$mech->get('http://localhost/forums/payments.php');
但我不能帮助您从那里获取信息,而无需查看页面的HTML。
您需要解析结果HTML文件。 我建议对以下任务使用HTML :: TreeBuilder :: XPath:
my $tree = HTML::TreeBuilder::XPath->new_from_content( $mech->content() );
my ($description) = $tree->findvalues('//p[ @class = "description" ]');
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.