列表格式显示

- 分类

广告招商中......
联系方式!

- 时间排序 更多...
    - 点击排序 更多...
      - 大小排序 更多...
        作者

         

        最近发布的软件 更多>>

        首页 >> >> >>Selenium自动化测试中Cookie的设置与管理 发布者:Private >> 本人发布的更多软件

        广告招商中...... 联系方式!

        Selenium自动化测试中Cookie的设置与管理 

        时间:2026-04-03 18:09:23      作者:Private     访问量:  
        ;开始下载地址

        https://comate.baidu.com/zh/page/ek01p54s6yz


        Selenium自动化测试中Cookie的设置与管理

        avatar2026-02-12 00:56:25

        在Selenium自动化测试中,Cookie的设置与管理是模拟用户登录、维持会话状态的重要技术手段。本文将详细介绍如何通过Selenium的add_cookie()方法实现Cookie的添加、批量操作及常见问题解决。

        Cookie设置的核心方法

        driver.add_cookie(cookie_dict) 向当前会话添加Cookie,参数为字典类型,必须包含namevalue字段,可选字段包括domainpathexpirysecure等。

        前置条件:调用add_cookie()前,必须先通过driver.get(url)访问目标网页,否则会抛出Unable to set Cookie异常。

        完整代码示例

        示例1:添加单个Cookie

        Python复制from selenium import webdriverdriver = webdriver.Chrome()driver.get("https://www.example.com")  # 必须先访问网页# 添加单个Cookiedriver.add_cookie({    "name": "session_id",    "value": "abc123xyz",    "domain": ".example.com",  # 可选,指定域名    "path": "/",               # 可选,指定路径    "secure": False            # 可选,是否仅HTTPS传输})# 刷新页面使Cookie生效driver.refresh()print("当前Cookie:", driver.get_cookies())driver.quit()

        示例2:批量添加Cookie(模拟登录)

        Python复制from selenium import webdriverimport timedriver = webdriver.Chrome()driver.get("https://www.example.com/login")  # 先访问登录页# 模拟手动登录后获取的Cookie(实际需从登录后的会话中提取)cookies = [    {"name": "user_token", "value": "token_value_123"},    {"name": "auth_key", "value": "key_value_456"}]# 清除原有Cookie(可选)driver.delete_all_cookies()# 批量添加Cookiefor cookie in cookies:    driver.add_cookie(cookie)# 刷新页面并验证登录状态driver.get("https://www.example.com/dashboard")time.sleep(2)  # 等待页面加载print("登录后页面标题:", driver.title)driver.quit()

        关键注意事项

        域名匹配规则

        Cookie的domain字段需与目标网页匹配。例如,domain: ".example.com"适用于www.example.comapi.example.com。若省略domain,Selenium会自动填充当前页面的域名。

        Cookie持久化方案

        可通过JSON文件实现Cookie的保存与复用:

        Python复制import json# 保存Cookiewith open("cookies.json", "w") as f:    json.dump(driver.get_cookies(), f)# 加载Cookiewith open("cookies.json", "r") as f:    cookies = json.load(f)    for cookie in cookies:        driver.add_cookie(cookie)

        调试技巧

        使用浏览器开发者工具(F12 → Application → Cookies)查看目标Cookie的完整属性,确保namevaluedomain等参数与Selenium代码一致。

        常见问题解决

        错误1: InvalidCookieDomainException

        原因:Cookie的domain与当前URL不匹配。
        解决方案:检查domain字段,或省略该字段让Selenium自动处理。

        错误2: Unable to set Cookie

        原因:未调用driver.get(url)访问网页,或URL协议(HTTP/HTTPS)与Cookie的secure属性冲突。
        解决方案:确保先访问网页,并检查secure字段是否与URL协议一致。



        本页Html网址:/htmlsoft/619593.html

        本页aspx网址:/soft.aspx?id=619593&bianhao=202604031809236361_24516&kind1=&kind2=

        最后访问时间:

        上一篇:python自动化控制AdsPower生成的指纹浏览器

        下一篇:selenium 鼠标操作

        增加   


        相关评论        新窗口打开查看评论