我的python脚本不会打开浏览器并自动登录

时间:2011-04-13 23:30:52

标签: python browser autologin

我每次点击它都会写一个python脚本来自动登录网站。该脚本在命令提示符下运行正常,但不会打开浏览器。我可以看到html源代码在命令提示符下运行,但它不会打开浏览器。我还没有包含任何基于浏览器的命令,可能是一个原因,但我不知道如何包含浏览器命令,例如:webbrowser.open,因为当我包含此命令时,它只是打开浏览器但不登录我。我猜猜有一个时间问题。有人可以更正我的脚本以进行自动登录。

import cookielib
import urllib
import urllib2

if __name__ == '__main__':
    urlLogin = 'http://www.gmail.com'

    id    = 'my.email'
    passw = 'my.password'

    fieldId   = 'email'
    fieldPass = 'pass'

    cj = cookielib.CookieJar()
    data=   urllib.urlencode({fieldId:id, fieldPass:passw})

    opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))

    urllib2.install_opener(opener)

    usock = opener.open(urlLogin)
    usock = opener.open(urlLogin,  data)

    pageSource = usock.read()
    usock.close()
    print(pageSource)

    usock = opener.open('http://www.gmail.com')
    pageSource = usock.read()
    usock.close()
    print(pageSource)

谢谢,这将是一个很好的帮助

1 个答案:

答案 0 :(得分:1)

AFAIK,urllib与您的浏览器没有任何关系。相反,Python成功地将自身连接到远程系统,登录并检索生成的页面。

你可能想要webbrowser,而不是urllib。该模块的文档位于:http://docs.python.org/library/webbrowser.html