我正在处理自动表单提交脚本。它正在登录供应商的网站并填充表单的字段。在尝试提交时,所需的结果将是显示的票号,即确认表单已提交并且请求由其帮助台处理。
然而,表单未正确提交(未显示确认),我怀疑它是由其中一个输入引起的。
以下是我用来设置此字段的代码:
$forms[3]->value('ProductList','-2');
不幸的是,这对预备表格没有影响,倾销$表格[3],我看到了:
[...]
bless({
'onchange' => ' checkKC(document.all.ProductList, \'~0\'); prodExpand();',
'current' => 1,
'menu' => [
{
'seen' => 1,
'value' => '~0',
'name' => '<Please select>'
},
{
'seen' => 1,
'value' => '-2',
'name' => 'Product not found.... Search more'
},
{
'value' => '-1',
'name' => '------------------------------------'
},
{
'value' => 'Product1',
'name' => 'Product 1 Name'
}
],
'name' => 'ProductList',
'id' => 'ProductList',
'idx' => 1,
'type' => 'option'
}, 'HTML::Form::ListInput' ),
[...]
我是否使用了$ forms [3]的正确方法? (它是由HTML :: Form-&gt; parse($ pageresult)btw创建的)或者我应该尝试其他方法吗?我无法找到HTML :: Form :: ListInput
的任何文档感谢您的任何建议
答案 0 :(得分:1)
考虑将WWW::Mechanize
用于需要多个步骤的表单处理。这样,您可以在脚本中包含登录过程以及转到表单,当然也可以获得结果。
或者,如果您需要使用JavaScript,请使用WWW::Mechanize::Firefox
。