# Mechanize login problem

**URL:** <https://www.ruby-forum.com/t/mechanize-login-problem/190433>\
**Category:** Ruby\
**Created:** [June 20, 2010, 4:45am UTC](https://www.ruby-forum.com/t/mechanize-login-problem/190433 "2010-06-20T04:45:23Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![luofeiyu](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/l/9de0a6/32.png) [@luofeiyu](https://www.ruby-forum.com/u/luofeiyu)\
**Post date:** [June 20, 2010, 4:45am UTC](https://www.ruby-forum.com/t/mechanize-login-problem/190433/1 "2010-06-20T04:45:23Z")

</div>

require ‘rubygems’  
require ‘mechanize’  
agent = WWW::Mechanize.new  
agent.user\_agent\_alias = ‘Windows IE 7’  
page = agent.post(“[http://sso.chinaunix.net/Login?](http://sso.chinaunix.net/Login?)”)  
form = page.forms[0]  
form[‘login\_name’] = ‘luofeiyu’  
form[‘password’] = ‘qwerty’  
page = agent.submit(form)  
page.save(“/home/pt/web”)

irb(main):166:0\> form = page.forms[0]  
=\> nil  
irb(main):167:0\> form[‘login\_name’] = ‘luofeiyu’  
NoMethodError: undefined method `[]=' for nil:NilClass from (irb):167 from :0 irb(main):168:0> form['password'] = 'qwerty' NoMethodError: undefined method `[]=’ for nil:NilClass  
from (irb):168  
from :0  
irb(main):169:0\> page = agent.submit(form)  
ArgumentError: wrong number of arguments (0 for 1)  
from /var/lib/gems/1.8/gems/mechanize-1.0.0/lib/mechanize.rb:368:in  
`method' from /var/lib/gems/1.8/gems/mechanize-1.0.0/lib/mechanize.rb:368:in `submit’  
from (irb):169  
from :0  
would you mind to tell me what wrong is?

---

<div class="post-metadata">

**Author:** ![luofeiyu](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/l/9de0a6/32.png) [@luofeiyu](https://www.ruby-forum.com/u/luofeiyu)\
**Post date:** [June 22, 2010, 1:29am UTC](https://www.ruby-forum.com/t/mechanize-login-problem/190433/2 "2010-06-22T01:29:47Z")

</div>

On Sun, Jun 20, 2010 at 11:45:31AM +0900, Pen T. wrote:

> irb(main):166:0\> form = page.forms[0]  
> =\> nil

This line ^^^^^

This page appears to have no forms, so it returned nil.

---

<div class="post-metadata">

**Author:** ![luofeiyu](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/l/9de0a6/32.png) [@luofeiyu](https://www.ruby-forum.com/u/luofeiyu)\
**Post date:** [June 23, 2010, 5:18am UTC](https://www.ruby-forum.com/t/mechanize-login-problem/190433/3 "2010-06-23T05:18:27Z")

</div>

view-page source ,you can see :

```
  <p class="title">æ¬¢è¿Žæ‚¨<br />å·²ç»æ‹¥æœ‰ChinaUnixå¸æˆ·</p>
  <p class="mt8">
    ç”¨æˆ·åï¼š<input type="text" id="login_name" name="login_name" 

```

size=“20” maxlength=“30” class=“inputText1 {required:true,minLength:2}”  
value="" /\>

  

å¯†&nbsp;&nbsp;ç ï¼š

```
  </p>
  <p class="mt8">
    <input type="checkbox" value="30" id="furmcookie" 

```

name=“furmcookie”\>è®°ä½æˆ‘çš„å¯†ç 

  

  

  

  

è¿˜ä¸æ˜¯ChinaUnixä¼šå‘˜ï¼Ÿç«‹å³å…è´¹æ³¨å†Œï¼

```
  <p class="mt12 tr"><input type="button" value="æ³¨ å†Œ" 

```

class=“button1”  
onclick=“javascript:window.location.href=’/Register’”/\>

```
  <dl class="lh18 mt10">
    <dt class="bold">ä¸ºä»€ä¹ˆè¦æ³¨å†Œï¼Ÿ</dt>
    <dd>
            æ‚¨åªæœ‰æ³¨å†Œæˆä¸ºChinaUnixä¼šå‘˜ï¼Œæ‰å¯ä»¥ç™»å½•è®ºå›ã€åšå®¢å‘è¨€äº¤æµï¼Œå¹¶å¯ä»¥äº«ç”¨ChinaUnixçš„å„é¡¹æœåŠ¡ã€‚
            </dd>
  </dl>
</div>

<div class="forget">

  <p class="title">å¿˜è®°å¯†ç æˆ–ID</p>
  <p class="con">å¦‚æžœä½ å¿˜è®°äº†ä½ çš„å¯†ç ï¼Œè¯·åœ¨è¿™é‡Œæ‰¾å›žå¯†ç ã€‚</p>

  <p class="tr mt8"><input type="button" value="æ‰¾å›žå¯†ç " 

```

class=“button1”  
onclick=“javascript:window.location.href=’/ForgotPassword’”/\>

```
</div>

</form>

```

there is form in it.
