Login 使用Mechanize和Nokogiri登录网站?
我在使用我们的一个服务提供商的登录表单时遇到一些困难。其他网站运行良好,但由于某些原因,我无法通过他们的登录表单 的网站登录如下所示:Login 使用Mechanize和Nokogiri登录网站?,login,screen-scraping,nokogiri,www-mechanize,Login,Screen Scraping,Nokogiri,Www Mechanize,我在使用我们的一个服务提供商的登录表单时遇到一些困难。其他网站运行良好,但由于某些原因,我无法通过他们的登录表单 的网站登录如下所示: <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
<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="✓" /><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>
我还尝试了其他SO中建议的不同登录方式:
使用这种身份验证方法,我在运行rake任务时获得以下输出:
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="✓" /><input name="authenticity_token" type="hidden" value="kaLEkPesQfeheronzGTdfnVAzpuUiC+VmjVXBu540n8=" /></div>
我错过什么了吗?如果是,什么?任何指点都很感激 试试换衣服
form.field_with(:email => "user_session_email").value = email
form.field_with(:password => "user_session_password").value = password
到
<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="✓" /><input name="authenticity_token" type="hidden" value="kaLEkPesQfeheronzGTdfnVAzpuUiC+VmjVXBu540n8=" /></div>
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