美文网首页
python获取页面cookies

python获取页面cookies

作者: doge5595 | 来源:发表于2017-11-12 12:17 被阅读0次

    这篇文章主要是对之前python实现简易登陆作的补充,之前的cookies都自己手工打开浏览器,进行登陆操作,然后复制cookies的方式来获取cookies,但是今天就是要解决这个麻烦,不用自己登陆,让代码自己去获取cookies。

    python有个库urllib支持对页面cookies的操作,但是在实际使用过程中发现总是不起作用,很多页面使用代码操作与实际使用浏览器操作是有差别的,既然非要打开浏览器来操作,那就让python来做这件事吧。

    python+selenium是实现自动化测试的工具,让它去跑登陆的功能,然后去获取cookies,然后接下来的功能就交给python去跑吧。

    # _*_ coding: utf-8 _*_

    #引用要使用到的库

    import requests

    import time

    from selenium import webdriver

    from selenium.webdriver.common.keys import Keys

    #定义好登陆使用的用户名与密码

    username = 'xxxxx'

    password='xxxxxx'

    #定义操作火狐浏览器geckodriver.exe的驱动的路径,使用前一定要将火狐浏览器的安装路径与geckodriver.exe驱动的路径加入环境变量当中

    executable_path = "D:\python\Tools\geckodriver.exe"

    #打开浏览器

    browser = webdriver.Firefox()

    #打开要登陆的页面

    browser.get('xxxxx')

    #让页面停顿3秒,防止页面未加载完定位不到元素

    time.sleep(3)

    #找到页面输入用户名的地方

    username_input = browser.find_element_by_id('textUsername')

    #输入用户名

    username_input.send_keys(username)

    #找到页面输入密码的地方

    password_input = browser.find_element_by_id('textPassword')

    #输入密码

    password_input.send_keys(password)

    #回车登陆

    password_input.send_keys(Keys.RETURN)

    #让页面停顿3秒,防止页面未加载完定位不到元素

    time.sleep(3)

    #构造登陆使用的cookies

    cookie = 'Username=' + username + '; Password=' + password + '; ' + browser.get_cookies()[0]['name'] + '=' + browser.get_cookies()[0]['value'] + '; ' + browser.get_cookies()[1]['name'] + '=' + browser.get_cookies()[1]['value']

    #利用cookie的代码区

    #退出浏览器

    browser.quit()

    get_cookies()方法得到的是个字典格式,大家可以自己尝试先将其获得的结果打印出来,然后根据HttpFox工具查看到的cookies的结构来构造。

    还有关闭浏览器的操作browser.quit()一定要在全部操作结束之后再进行,因为关闭之后cookies也失效了,后面的操作也无法进行了。

    相关文章

      网友评论

          本文标题:python获取页面cookies

          本文链接:https://www.haomeiwen.com/subject/xtmnmxtx.html