2012-04-01 13 views
5

मुझे हमारे सेवा प्रदाताओं लॉगिन फॉर्म में से किसी एक के साथ कुछ कठिनाई हो रही है। अन्य साइटें ठीक काम कर रही हैं लेकिन किसी कारण से मैं अपना लॉगिन फॉर्म नहीं निकाल सकता।मैकेनाइज और नोकोगिरी का उपयोग कर वेबसाइट में लॉग इन करना?

के लिए वेबसाइट लॉगिन इस तरह है:

<form accept-charset="UTF-8" action="/sessions" class="new_user_session" id="new_user_session" method="post"><div style="margin:0;padding:0;display:inline"><input name="utf8" type="hidden" value="&#x2713;" /><input name="authenticity_token" type="hidden" value="kaLEkPesQfeheronzGTdfnVAzpuUiC+VmjVXBu540n8=" /></div> 

     <fieldset class="big"> 

     <div class="form-row"> 
     <div class="form-label"> 
     <label for="user_session_email">Email</label> 
     </div> 
     <div class="form-field"> 
     <input id="user_session_email" name="user_session[email]" size="30" type="text" /> 

     </div> 

     </div>   

     <div class="form-row"> 
     <div class="form-label"> 
     <label for="user_session_password">Password</label> 
     </div> 
     <div class="form-field"> 
     <input id="user_session_password" name="user_session[password]" size="30" type="password" /> 

     </div> 

     <div class="form-comment"><p><a href="/password_resets/new" class="link-password-recovery">Forgot your password?</a></p></div> 
     </div> 

     <div class="form-row optional"> 
      <div class="form-field"> 
      <label for="user_session_remember_me"><input name="user_session[remember_me]" type="hidden" value="0" /><input id="user_session_remember_me" name="user_session[remember_me]" type="checkbox" value="1" /> Remember me for 2 weeks</label> 
      </div> 

     </div> 

</fieldset> 

मैं अन्य अन्य साइटों के रूप में एक ही कोड का उपयोग कर लॉगिन करने की कोशिश की, लेकिन यह काम नहीं करता।

:

email = '[email protected]' 
password = 'password 

# Create a new mechanize object 
agent = Mechanize.new 

# Load the postmarkapp website 
page = agent.get("https://domain.com") 

# Select the first form 
form = agent.page.forms.first 
form.field_with(:email => "user_session_email").value = email 
form.field_with(:password => "user_session_password").value = password 

# Submit the form 
page = form.submit form.buttons.first 

मैं निम्नलिखित मिल उत्पादन जब रेक कार्य चल रहा प्रमाणीकरण की इस पद्धति का उपयोग करना:

# Create a new mechanize object 
agent = Mechanize.new 

# Load the dial9 website 
page = agent.get("http://webapplication.co.uk") 

# Select the first form 
form = agent.page.forms.first 
form.username = 'username 
form.password = 'password' 

# Submit the form 
page = form.submit form.buttons.first 

मैं भी में प्रवेश करने का एक अलग तरीका के रूप में अन्य अतः questions/answers में सुझाव दिया की कोशिश की है

undefined method `email' for [hidden:0x3fef2ab2b994 type: hidden name: utf8 value: ✓]:Mechanize::Form::Hidden 

नज़दीकी निरीक्षण पर उपर्युक्त त्रुटि इस तथ्य के कारण प्रतीत होती है कि फॉर्म शुरू होने के तुरंत बाद एक फ़ील्ड है:

<form accept-charset="UTF-8" action="/sessions" class="new_user_session" id="new_user_session" method="post"><div style="margin:0;padding:0;display:inline"><input name="utf8" type="hidden" value="&#x2713;" /><input name="authenticity_token" type="hidden" value="kaLEkPesQfeheronzGTdfnVAzpuUiC+VmjVXBu540n8=" /></div> 

क्या मुझे कुछ याद आ रही है? यदि ऐसा है तो क्या? किसी भी पॉइंटर्स की सराहना की जाती है!

उत्तर

5

कोशिश बदलते

form.field_with(:email => "user_session_email").value = email 
form.field_with(:password => "user_session_password").value = password 

को
form.field_with(:name => "user_session[email]").value = email 
form.field_with(:name => "user_session[password]").value = password 
संबंधित मुद्दे