2014-07-21 2 views
1

Mechanize를 사용하여 사이트에 로그인하는 데 문제가 있습니다.기계어로 로그인 하시겠습니까?

내 로그인 코드는 다음과 같습니다

#<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]}> 

내가 얻을 출력은 다음과 같습니다 :

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

는 내가 뭘 잘못 말해 줄 수

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 

형태는 같다 ?

답변

1

내 실수를 발견했습니다.

코드이었다

logowanie.fields[0] = 'login' 
logowanie.fields[1] = 'password' 

그리고 그것은해야했다 :

logowanie.fields[0].value = 'login' 
logowanie.fields[1].value = 'password' 
관련 문제