Вход на веб-сайт с помощью Mechanize и Nokogiri?

У меня возникли трудности с формой входа в систему одного из наших поставщиков услуг.Другие сайты работают нормально, но по какой-то причине я не могу пройти через их форму входа.

Вход на веб-сайт выглядит следующим образом:

Я пытался войти, используя тот же код, что и на других сайтах, но он не работает.

# 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

При ближайшем рассмотрении вышеприведенная ошибка, похоже, связана с тем, что сразу после запуска формы есть поле:

Я что-то пропустил? Если да, то? Любые указатели приветствуются!

5
задан Community 23 May 2017 в 11:53
поделиться