• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    Python中Selenium对Cookie的操作方法

    1、Cookie介绍

    HTTP协议是无状态的协议。一旦数据交换完毕,客户端与服务器端的连接就会关闭,再次交换数据需要建立新的连接,这就意味着服务器无法从连接上跟踪会话。也就是说即使第一次和服务器连接后并且登录成功后,第二次请求服务器依然不能知道当前请求是哪个用户。举个例子:用户A购买了一件商品放入购物车内,当再次购买商品时,服务器已经无法判断该购买行为是属于用户A的会话,还是用户B的会话了。要跟踪该会话,必须引入一种机制。

    什么是一次会话:

    用户打开浏览器访问某个网站, 在这个网站上浏览任意页面, 访问完成后将浏览器关闭的过程称为是一次会话。

    2、Session介绍

    3、Cookie工作原理图解

    如下图所示:

    提示:如果步骤5携带的是过期的cookie或者是错误的cookie,那么将认证失败,返回至要求身份认证页面。

    记录Cookie的作用:

    1. 用户第一次登陆时,勾选下次直接登陆或者记住密码,就是采用记录Cookie实现的。
    2. Cookie内记录用户名和密码(加密)信息,只要请求时服务器收到Cookie,识别成功,默认为已登陆。

    4、Cookie内容参数说明

    参数 描述
    name 必需。规定 Cookie的名称。
    value 必需。规定 Cookie的值。
    expire 可选。规定 Cookie的有效期。
    domain 可选。规定 Cookie的域名。
    path 可选。规定 Cookie的服务器路径。
    secure 可选。规定是否通过安全的 HTTPS 连接来传输 Cookie。
    httpOnly 可选。防止XSS攻击(跨站脚本攻击)

    说明:

    5、Selenium操作Cookie的API

    webdriver可以读取、添加和删除Cookie信息。

    webdriver操作Cookie的方法有:

    操作 说明
    get_cookies() 获得所有Cookie信息(重点)
    add_cookie(cookie_dict) 添加Cookie,必须有name 和value 值(重点)
    get_cookie(name值) 返回指定name名称的Cookie信息
    delete_cookie(name) 删除特定(部分)的Cookie信息
    delete_all_cookies() 删除所有Cookie信息

    6、Selenium操作Cookie的示例

    """
    1.学习目标:
        掌握selenium对cookie操作
    2.语法
        2.1获取所有cookie
            driver.get.cookies()
            返同列表格式字典类型 [{},{},{}]
        2.2添加cookie
            driver.add_cookie(参数)
            参数:字典格式{"name":"name值","value":"value值"}
    3.需求
        实现selenium对cookie操作
    """
    # 1.导入selenium
    from selenium import webdriver
    from time import sleep
    
    # 2.打开浏览器
    driver = webdriver.Chrome()
    
    # 3.打开注册A页面
    # 不打开一个页面,cookie为[]。
    url = "http://www.baidu.com/"
    driver.get(url)
    
    # 4.操作cookie
    # 4.1 获取cookie
    cookies = driver.get_cookies()
    for cookie in cookies:
        # 值打印cookie中的name和value
        print("%s -> %s" % (cookie['name'], cookie['value']))
    
    print("=======================")
    # 4.2 获取一个cookie的指定属性值
    # 参数是一个cookie中name的属性值
    # 没有找到返回None
    print(driver.get_cookie("BAIDUID"))
    
    print("=======================")
    # 4.3 添加cookie
    cookie = {"name": "key-aaaaaaa", "value": "value-aaaaaaa"}
    driver.add_cookie(cookie)
    
    # 添加后再次获取
    cookies = driver.get_cookies()
    for cookie in cookies:
        print("%s -> %s" % (cookie['name'], cookie['value']))
    
    print("=======================")
    # 4.4 删除指定cookie
    # 根据name删除
    driver.delete_cookie("key-aaaaaaa")
    # 删除后再次获取
    cookies = driver.get_cookies()
    for cookie in cookies:
        print("%s -> %s" % (cookie['name'], cookie['value']))
    
    print("=======================")
    # 4.5 删除全部cookie
    driver.delete_all_cookies()
    print(driver.get_cookies())
    
    # 5.关闭浏览器
    sleep(2)
    driver.quit()

    参考:https://www.cnblogs.com/linguoguo/p/5106618.html

    到此这篇关于Selenium对Cookie的操作 的文章就介绍到这了,更多相关Selenium Cookie操作 内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

    您可能感兴趣的文章:
    • 详解Python 使用 selenium 进行自动化测试或者协助日常工作
    • Python利用Selenium实现网站自动签到功能
    • Selenium+Python自动化脚本环境搭建的全过程
    • 利用Python+Selenium破解春秋航空网滑块验证码的实战过程
    • python Selenium等待元素出现的具体方法
    • Python使用Selenium自动进行百度搜索的实现
    • python+opencv+selenium自动化登录邮箱并解决滑动验证的问题
    • 用Python selenium实现淘宝抢单机器人
    • 教你用Python+selenium搭建自动化测试环境
    • Python selenium的这三种等待方式一定要会!
    • Python爬虫实战之用selenium爬取某旅游网站
    • 教你如何使用Python selenium
    • python Web应用程序测试selenium库使用用法详解
    上一篇:Python常用配置文件ini、json、yaml读写总结
    下一篇:深入浅析python3 依赖倒置原则(示例代码)
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    Python中Selenium对Cookie的操作方法 Python,中,Selenium,对,Cookie,