我正在尝试用Mechanize做一个ruby脚本,这样我就可以登录到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根据机械化网站的代码应该可以工作,但我总是得到这样的错误:
/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@email.com":String (NoMethodError)有人能帮我吗?或者,如果已经有脚本了,你能给我指点一下吗?(我没有找到)
发布于 2013-06-06 18:36:27
我不知道你在做什么,但是使用字段是一个混乱和错误。
一般而言:
form['email'] = email
form['password'] = password
next_page = form.submit form.button发布于 2013-08-18 18:05:00
而不是
f.fields[0] = email
f.fields[1] = pass试一试
f.fields[0].value = email
f.fields[1].value = passhttps://stackoverflow.com/questions/16919096
复制相似问题