2015-09-11 4 views
1
require 'rubygems' 
require 'mechanize' 

agent = Mechanize.new 

page = agent.get('https://panel.dreamhost.com') 

pp login_form 

результаты:Использование рубин механизировать для входа в Dreamhost

#<Mechanize::Form 
{name nil} 
{method "POST"} 
{action "https://panel.dreamhost.com/index.cgi"} 
{fields 
    [text:0x3fe74cd329bc type: text name: username value: ] 
    [field:0x3fe74cd32868 type: password name: password value: ] 
    [hidden:0x3fe74cd32714 type: hidden name: Nscmd value: Nlogin]} 
{radiobuttons} 
{checkboxes} 
{file_uploads} 
{buttons [button:0x3fe74cd2f744 type: submit name: value: ]}> 

-

# Fill out and submit login form 
login_form = page.form() 

login_form.username = 'xxx' 
login_form.password = 'xxx' 

login_form.method = 'POST' 
login_form.action = 'https://panel.dreamhost.com/index.cgi 

page = agent.submit(login_form, login_form.buttons.first) 

Полученная страница совпадает с исходной страницы, так что я, очевидно, делает что-то неправильно. Любая помощь приветствуется.

+1

Я смотрел на нее и форма выглядит просто. Проверьте свое имя пользователя и пароль, также может возникнуть сообщение об ошибке в ответе, в конце концов вам не нужно будет устанавливать метод или действие. – pguardiario

ответ

0

Возможно, что кнопка отправки использует javascript, а Mechanize не оценивает javascript. У меня была аналогичная проблема несколько дней назад (с использованием страницы на Facebook), чтобы решить эту проблему, я использовал версию мобильного входа на веб-сайт (https://m.facebook.com/login) ... Но я не думаю, что у Dreamhost есть один.

Для получения дополнительной информации об этом:

Смежные вопросы