2010-12-16 5 views
0

Для тестирования я пытаюсь написать сценарий с помощью WWW :: Mechanize, что бы войти, чтобы Gowalla через https://api.gowalla.com/signinформа Выбор на основе ID

Как я могу видеть форму, Логин не имеет «имя» атрибут, но он имеет атрибут «id». Механизм имеет метод submit_form, который может получить имя в качестве параметра, но я не вижу его принятия идентификатора в качестве параметра.

Так это будет тогда

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

ответ

2

Вы выбрали форму с помощью атрибута ид, но это не позволяет использовать идентификатор атрибута для выбора полей, это должно исправить код:

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

Если вы получили ошибку, укажите имена полей в одинарных кавычках, не уверены, будут ли квадратные скобки проблемой.

0

WWW :: Механизм автоматически устанавливает фокус на единую форму. Вы можете отправить его с помощью $ m-> click ('') или $ m-> submit();