如何单击带有 WWW::Mechanize 值的按钮
How to click a button with its value with WWW::Mechanize
我正在尝试使用带有 Mechanize 模块的 Perl 脚本来单击按钮。但是,按钮的名称和位置总是在变化,所以我想用它的值来点击它,但我找不到如何去做。
按钮是这样的:
<input class="submit good" name="R_HCWE" value="CLICK HERE" type="submit">
我不能简单地使用 submit()
方法,因为还有另一个按钮可以提交属于 class "submit bad".
的表单
使用find_all_submits
方法找到按钮,然后点击:
#!/usr/bin/perl
use warnings;
use strict;
use feature qw{ say };
use WWW::Mechanize;
my $mech = 'WWW::Mechanize'->new;
$mech->get('http://search.cpan.org/perldoc/WWW::Mechanize');
$mech->update_html(<< '__HTML__');
<html>
<body>
<form action="/1.pl">
<input class="submit bad" name="R_ACWE" value="DO NOT CLICK HERE" type="submit">
<input class="submit good" name="R_HCWE" value="CLICK HERE" type="submit">
<form>
</body>
</html>
__HTML__
my $button = ($mech->find_all_submits(class => 'submit good'))[0];
say $button->class;
我正在尝试使用带有 Mechanize 模块的 Perl 脚本来单击按钮。但是,按钮的名称和位置总是在变化,所以我想用它的值来点击它,但我找不到如何去做。
按钮是这样的:
<input class="submit good" name="R_HCWE" value="CLICK HERE" type="submit">
我不能简单地使用 submit()
方法,因为还有另一个按钮可以提交属于 class "submit bad".
使用find_all_submits
方法找到按钮,然后点击:
#!/usr/bin/perl
use warnings;
use strict;
use feature qw{ say };
use WWW::Mechanize;
my $mech = 'WWW::Mechanize'->new;
$mech->get('http://search.cpan.org/perldoc/WWW::Mechanize');
$mech->update_html(<< '__HTML__');
<html>
<body>
<form action="/1.pl">
<input class="submit bad" name="R_ACWE" value="DO NOT CLICK HERE" type="submit">
<input class="submit good" name="R_HCWE" value="CLICK HERE" type="submit">
<form>
</body>
</html>
__HTML__
my $button = ($mech->find_all_submits(class => 'submit good'))[0];
say $button->class;