Perl点击按钮与WWW ::机械化
问题描述:
我是新来的网络抓取Perl,我试图通过填写用户名和密码字段,然后单击提交提交页面。我检查有问题的按钮的HTML代码,它看起来像:Perl点击按钮与WWW ::机械化
<input type="submit" class="button formSubmission" value="Sign In">
我读了WWW::Mechanize
不能处理JavaScript,但我不知道如果我看代码是JavaScript的,或者我的实现是错误的。我半途而废地尝试$mech->click_button("Sign In");
,但收到没有这样的字段存在的错误。
任何想法?
答
您的按钮没有name
属性,这就是为什么我敢肯定没有需要点击它。你需要的是然后填写字段的形式:
$mech->submit_form(
with_fields => {
your_username_field => $user,
your_password_field => $password,
.....
},
);
答
查看click_button
方法的documentation。它列出了几种可能的方法来查找您想要点击的按钮。你的按钮没有名字,但它确实有一个值,所以
$mech->click_button(value => "Sign In");
应该这样做。
答
<input>
的value
属性不是标识符。在submit
按钮的情况下,这只是按钮上的文字。
如果您只是想提交表单,您可能只想要submit_form
。
如果您想单击一个按钮,但此按钮没有标识name
,那么您可能需要使用click_button
功能click_button
的功能。你可以指定
$mech->click_button(value => "Sign In");
这是正确的。谢谢! – aquemini