繁体   English   中英

Perl单击带有WWW :: Mechanize的按钮

[英]Perl Click Button with WWW::Mechanize

我不熟悉使用Perl进行网络抓取,并且尝试通过填写用户名和密码字段并单击提交来提交页面。 我检查了有问题的按钮的HTML代码,它看起来像:

<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方法的文档 它列出了几种可能的方法来查找您要单击的按钮。 您的按钮没有名称,但是有值,因此

$mech->click_button( value => "Sign In" );

应该这样做。

<input>value属性不是标识符。 对于submit按钮,这只是按钮上的文本。

如果您只想提交表单,则可能只需要submit_form

如果要单击一个按钮,但此按钮没有标识name ,则可能要使用click_button提供的功能。 您可以指定

$mech->click_button(value => "Sign In");

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM