2013-06-04 2 views
0

Я пытаюсь создать рубиновый скрипт с помощью Mechanize, поэтому я могу войти в Tumblr. У меня есть следующий сценарий:Tumblr Login Script With Mechanize

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 

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

/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) 

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

ответ

0

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

В общем:

form['email'] = email 
form['password'] = password 
next_page = form.submit form.button 
0

Вместо

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

попробовать

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