根据ID选择表单

时间:2010-12-16 07:59:48

标签: perl mechanize web-scraping

出于测试目的,我正在尝试使用WWW :: Mechanize编写一个脚本,该脚本将通过https://api.gowalla.com/signin

登录Gowalla

正如我所看到的,登录表单没有“name”属性,但它具有“id”属性。 Mech有一个“submit_form”方法,可以将名称作为参数获取,但我没有看到它接受id作为参数。

那就是

$w->form_id('form_signin');
$w->submit_form(
fields => {
    username => $username,
    user_session_password => $password,
});

2 个答案:

答案 0 :(得分:2)

您已经通过id属性选择了表单,但是这不允许您使用id属性来选择字段,这应该可以修复您的代码:

$w->submit_form(
fields => {
    user_session[username] => $username,
    user_session[username] => $password,
});

如果出现错误,请将字段名称括在单引号中,不确定方括号是否有问题。

答案 1 :(得分:0)

WWW :: Mechanize会自动将焦点设置到单个表单上。您可以使用$ m->点击('')或$ m-> submit();

提交