Perl 单击一个单选按钮

Perl 单击一个单选按钮,perl,mechanize,Perl,Mechanize,我试图通过使用Perl和Mechanize模块单击一个单选按钮。我试过了 $mech->find_all_inputs ( name => "name" , value => "1" ) ,但没有得到任何结果。单选按钮的html代码是这样的 <input name="name" value="1" type="radio"> 还有其他同名但值不同的单选按钮。那么如何使用Mechanize模块单击单选按钮呢? 提前谢谢。用户代理无法神奇地分辨正确的。把它们全

我试图通过使用Perl和Mechanize模块单击一个单选按钮。我试过了

$mech->find_all_inputs ( name => "name" , value => "1" ) 
,但没有得到任何结果。单选按钮的html代码是这样的

<input name="name" value="1" type="radio">

还有其他同名但值不同的单选按钮。那么如何使用Mechanize模块单击单选按钮呢?
提前谢谢。

用户代理无法神奇地分辨正确的。把它们全部找出来,然后仔细检查,选出你需要的一个。您可以通过方法
可能的\u值

# Finding the field name and values for the radio element
foreach ( $ua->find_all_inputs(type => 'radio') ) {
    $radio_name = $_->name;
    say "$radio_name values: " . join('|', $_->possible_values)
}     
如果只是一个

my ($radio_name, $input_err) = 
    map $_->name, $ua->find_all_inputs(type => 'radio');
warn "More radio inputs than expected: $!" if defined($input_err);
一旦你有了正确的按钮,你就可以填写它所在的表格。比如说

$ua->submit_form( fields => { $radio_name => 'AND' });
$ua->field( $name, $value );
submit\u表单
“允许您从以前获取的页面中选择表单,填写其字段,然后提交。”[来自文档,]。它将参数作为散列,例如,您可以在其中设置名称和值。例如,此方法是一个更高级别的包装器,您可以使用更具体的包装器来代替它

$ua->submit_form( fields => { $radio_name => 'AND' });
$ua->field( $name, $value );
要在重复字段中设置字段,请选择所需字段的编号。例如,设置列表中的第二个

$ua->set_fields( $name => [ 'field_value', 2 ] )

还要注意,
WWW::Mechanize
继承了大量内容。当您搜索正确的调用时,最好查看它所继承的包中的方法。

我实际上得到了它,但不明白如何指定单击值为“1”@ccca Welcome的单选按钮--我添加了更多,使其更有用。如果需要其他/更多,请告诉我。