У меня возникли трудности с формой входа в систему одного из наших поставщиков услуг.Другие сайты работают нормально, но по какой-то причине я не могу пройти через их форму входа.
Вход на веб-сайт выглядит следующим образом:
Я пытался войти, используя тот же код, что и на других сайтах, но он не работает.
# Create a new mechanize object
agent = Mechanize.new
# Load the dial9 website
page = agent.get("http://webapplication.co.uk")
# Select the first form
form = agent.page.forms.first
form.username = 'username
form.password = 'password'
# Submit the form
page = form.submit form.buttons.first
Я также пробовал другой способ входа в систему, предложенный в других SO вопросы/ответы:
email = 'user@domain.com'
password = 'password
# Create a new mechanize object
agent = Mechanize.new
# Load the postmarkapp website
page = agent.get("https://domain.com")
# Select the first form
form = agent.page.forms.first
form.field_with(:email => "user_session_email").value = email
form.field_with(:password => "user_session_password").value = password
# Submit the form
page = form.submit form.buttons.first
Используя этот метод аутентификации, я получаю следующий вывод при выполнении задачи rake:
undefined method `email' for [hidden:0x3fef2ab2b994 type: hidden name: utf8 value: ✓]:Mechanize::Form::Hidden
При ближайшем рассмотрении вышеприведенная ошибка, похоже, связана с тем, что сразу после запуска формы есть поле:
Я что-то пропустил? Если да, то? Любые указатели приветствуются!