【问题标题】:mechanize.Browser fails to submit?mechanize.Browser 提交失败?
【发布时间】:2013-07-22 03:11:46
【问题描述】:

我正在使用 mechanize 使用以下表单登录网站。

<form id="loginForm">
         <div class="signinTitle" >
            <span class="regTips" id="logTips"></span>
        </div>
         <ul class="inputBox">
                <li class="loginname">
                    <label>username/email</label>
                    <input id="nameInput" type="text" name="loginname" maxlength="30" value="">
                </li>
                <li class="password">
                    <label>password</label>
                    <input id="pwdInput" type="password" name="password" maxlength="16" value="">

                </li>
                <li id="chechbox">
                    <p class="tip">
                        <input name="remember" type="checkbox" checked="checked"/>
                        <span>remember </span>
                        <span class="forgetPwd"><a href="http://passport.infzm.com/passport/resetPassWord" >forget password</a></span>
                    </p>
                </li>
                <li class="submit clearfix">
                    <input type="submit" id="submitbutton" title="submit" value="login"></input>
                </li>
            </ul>
    </form>

我用来登录的代码如下

browser = mechanize.Browser()
browser.open(url)
browser.select_form(nr=1)
browser['loginname']=username
browser['password']=password
browser.submit()
browser.read()

但是 read() 返回与登录页面相同的 html。这里有什么问题。

【问题讨论】:

标签: python login mechanize


【解决方案1】:

images.infzm.com/js/com/infzm/passport/passport.js?v=4 上的 javascript 显示表单是通过 POST 提交给/passport/login。您将需要对 mechanize 进行一些技巧以使其正常工作。基本上,您要么需要找出一种方法来更改表单的操作和方法(我不记得这是可能的),要么在不使用表单的情况下自己发布帖子(也更容易做到)。然后,只需直接浏览到http://www.infzm.com/,因为这是登录成功时 javascript 重定向到的内容。

【讨论】:

  • 感谢您的回答,在这种情况下,urllib2 会做这项工作吗?
  • 我必须再次感谢您,您真的帮了我很多,节省了我很多时间。我通过使用requests 让它工作了。
  • 很高兴听到。享受 :) requests 真的是一个很棒的图书馆。
猜你喜欢
  • 1970-01-01
  • 2012-06-29
  • 2019-03-16
  • 2019-07-12
  • 1970-01-01
  • 1970-01-01
  • 2014-02-22
  • 2011-09-22
  • 2018-07-06
相关资源
最近更新 更多