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)
相关推荐
xingbuxing_py7 分钟前
精华贴分享|北交所:小市值策略的“甜蜜陷阱”还是“弹性引擎”?——一份轻度理解
python·金融·股票·理财·量化投资·股市·炒股
yj155813 分钟前
在装修预算有限的情况下,哪些地方可以省?
python
TickDB14 分钟前
Python 接入国内期货 Tick 行情:从 CTP 到统一 API 的工程实践
python·websocket
趣知岛34 分钟前
2026最新Python零基础入门教程,从环境搭建到实战精通(附源码)
python·青少年编程
努力努力再努力FFF1 小时前
别再乱学PS、Python了,普通大学生该看懂的技能趋势
开发语言·python
呆萌的代Ma2 小时前
docker内的n8n配置Code节点运行python代码
python·docker·容器
开源情报局3 小时前
79%的企业在用AI Agent,但只有2%规模化落地——问题出在哪?
人工智能·python
算法与双吉汉堡4 小时前
【Nanobot项目笔记】项目架构
python·ai·agent·智能体
knight_9___4 小时前
LLM工具调用面试篇6
人工智能·python·面试·职场和发展·llm·agent
用户3962691060034 小时前
asyncio + subprocess:Python异步调用外部命令踩坑实录
python