Python + Selenium 处理浏览器Cookie

工作中遇到这么一个场景:自动化测试登录的时候需要输入动态验证码,由于某些原因,需要从一个已登录的机器上,复制cookie过来,到自动化这边绕过登录。

浏览器的F12里复制出来的cookie内容是文本格式的:

复制代码
uuid_tt_dd=10_29467992570-1686563381625-248671; log_Id_view=22; pluginId=kfkdboecolemdjodhmhmcibjocfopejo; pluginVersion=3.0.5; pluginUUID=10_28142568173-1689298498020-519600; p_uid=U010000;

这里需要把cookie文本处理为name和value格式的字典形式,这个是Selenium的driver.add_cookie(cookie)函数要求的格式:

python 复制代码
cookie = {"name":"uuid_tt_dd", "value":"10_29467992570-1686563381625-248671"}

上代码

python 复制代码
        # 首次打开页面
        self.driver.get(self.url)
        # 从浏览器F12中复制过来的cookie
        cookies_text = """
        uuid_tt_dd=10_29467992570-1686563381625-248671; log_Id_view=22; pluginId=kfkdboecolemdjodhmhmcibjocfopejo; pluginVersion=3.0.5; pluginUUID=10_28142568173-1689298498020-519600; p_uid=U010000;
        """
        # 处理字符串,构建cookie字典
        cookie_tmp_list = cookies_text.strip().split(";")
        cookie_list = []
        for cookie_tmp in cookie_tmp_list:
            cookie_value_list = cookie_tmp.strip().split("=")
            cookie_name = cookie_value_list[0]
            if len(cookie_value_list) ==1:
                cookie_value = ''
            else:
                cookie_value = cookie_value_list[1]
            cookie = {"name":cookie_name, "value":cookie_value}
            cookie_list.append(cookie)
        # 删除原有cookie
        self.driver.delete_all_cookies()
        # 循环添加新cookie
        for cookie in cookie_list:
            print(type(cookie))
            self.driver.add_cookie(cookie)
        cookies = self.driver.get_cookies()
        print(cookies)
        # 再次打开业务url页面,不会跳转到登录页面了
        self.driver.get(self.url)
        time.sleep(30)
相关推荐
lntu_ling1 小时前
Python-基于Haversine公式计算两点距离
开发语言·python·gis算法
哈里谢顿7 小时前
Django 应用 OOM(Out of Memory)故障的定位思路和排查方法
python·django
甄心爱学习8 小时前
【python】获取所有长度为 k 的二进制字符串
python·算法
tuotali20269 小时前
氢气压缩机技术规范亲测案例分享
人工智能·python
嫂子的姐夫9 小时前
030-扣代码:湖北图书馆登录
爬虫·python·逆向
a1117769 小时前
EasyVtuber(或其衍生/增强版本)的虚拟主播(Vtuber)面部动画生成与直播解决方案
python·虚拟主播
lintax9 小时前
计算pi值-积分法
python·算法·计算π·积分法
小凯1234510 小时前
pytest框架-详解(学习pytest框架这一篇就够了)
python·学习·pytest
逻极10 小时前
pytest 入门指南:Python 测试框架从零到一(2025 实战版)
开发语言·python·pytest