Скрипт входа в Tumblr с Mechanize

Я пытаюсь создать ruby-скрипт с помощью Mechanize, чтобы войти в Tumblr. У меня есть следующий скрипт:

require 'rubygems'
require 'mechanize'

def get_page link
    agent = Mechanize.new
    page = agent.get(link)
end


def login email, pass
    login_page = get_page 'https://www.tumblr.com/login'
    dash = login_page.form_with(:action => 'https://www.tumblr.com/svc/account/register') do |f|
        f.fields[0] = email
        f.fields[1] = pass
    end.click_button
    dash
end

Этот код, согласно веб-сайту Mechanize, должен работать, но я всегда получаю эту ошибку:

/Users/me/.rvm/gems/ruby-2.0.0-p0/gems/mechanize-2.7.1/lib/mechanize/form.rb:312:in `block in save_hash_field_order': undefined method `node' for "[email protected]":String (NoMethodError)

Кто-нибудь может мне с этим помочь? Или, если для этого уже есть сценарий, можете ли вы указать мне на него? (я не нашел)


person Bruno Coelho    schedule 04.06.2013    source источник


Ответы (2)


Я не могу сказать, что вы делаете, но использование полей [0] - это беспорядок и ошибка.

В целом:

form['email'] = email
form['password'] = password
next_page = form.submit form.button
person pguardiario    schedule 06.06.2013

Вместо

f.fields[0] = email
f.fields[1] = pass

пытаться

f.fields[0].value = email
f.fields[1].value = pass
person Flow    schedule 18.08.2013