首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否使用Mechanize登录?

是否使用Mechanize登录?
EN

Stack Overflow用户
提问于 2014-07-22 00:12:08
回答 1查看 249关注 0票数 1

我有问题登录到一个网站与机械。

我的登录码是:

代码语言:javascript
复制
require 'rubygems'
require 'mechanize'

agent = Mechanize.new
page = agent.get('example.com')
logowanie = page.forms.first
logowanie.fields[0] = 'username'
logowanie.fields[1] = 'password'
logowanie.add_field! 'send','Zaloguj'
logowanie.submit
pp page

表单如下所示:

代码语言:javascript
复制
  #<Mechanize::Form
   {name nil}
   {method "POST"}
   {action "http://m.wykop.pl/i/zaloguj/"}
   {fields
    [text:0x547997e type: text name: user[username] value: ]
    [field:0x5479870 type: password name: user[password] value: ]
    [hidden:0x5479712 type: hidden name: __token value: c46dad2370bb10d3afbf65116048f5fa-1405958179]}
   {radiobuttons}
   {checkboxes}
   {file_uploads}
   {buttons [submit:0x54795e6 type: submit name:  value: Zaloguj]}>

我得到的输出是:

代码语言:javascript
复制
/var/lib/gems/2.1.0/gems/mechanize-2.7.3/lib/mechanize/form.rb:312:in `block in save_hash_field_order': undefined method `node' for "encoree1337":String (NoMethodError)
    from /var/lib/gems/2.1.0/gems/mechanize-2.7.3/lib/mechanize/form.rb:311:in `each'
    from /var/lib/gems/2.1.0/gems/mechanize-2.7.3/lib/mechanize/form.rb:311:in `save_hash_field_order'
    from /var/lib/gems/2.1.0/gems/mechanize-2.7.3/lib/mechanize/form.rb:255:in `build_query'
    from /var/lib/gems/2.1.0/gems/mechanize-2.7.3/lib/mechanize/form.rb:337:in `request_data'
    from /var/lib/gems/2.1.0/gems/mechanize-2.7.3/lib/mechanize.rb:1271:in `post_form'
    from /var/lib/gems/2.1.0/gems/mechanize-2.7.3/lib/mechanize.rb:548:in `submit'
    from /var/lib/gems/2.1.0/gems/mechanize-2.7.3/lib/mechanize/form.rb:223:in `submit'
    from /home/encore/Documents/Aptana Studio 3 Workspace/bot/bot.rb:10:in `<main>'

你能告诉我我做错了什么吗?

EN

回答 1

Stack Overflow用户

发布于 2014-07-22 01:07:57

我找到了我的错误。

代码是:

代码语言:javascript
复制
logowanie.fields[0] = 'login'
logowanie.fields[1] = 'password'

它必须是:

代码语言:javascript
复制
logowanie.fields[0].value = 'login'
logowanie.fields[1].value = 'password'
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24869713

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档