如何在Selenium中导入Cookie?使用driver.add_cookie()失败求助
Selenium的driver.add_cookie()方法不支持直接传入原始的Cookie字符串,它要求参数是结构化的字典格式,每个Cookie的字段需要对应到字典的指定键中。
你的Cookie转换为字典格式
根据你提供的两行Cookie,拆分字段后转换成符合要求的字典:
第一行Cookie(.google.com)
{ "domain": ".google.com", "secure": False, "name": "SEARCH_SAMESITE", "value": "CgQIs5YB", "path": "/", "expiry": 1678918203 }
第二行Cookie(.youtube.com)
{ "domain": ".youtube.com", "secure": True, "name": "VISITOR_INFO1_LIVE", "value": "-JTWPhbwbcc", "path": "/", "expiry": 1679506673 }
正确使用示例
# 先访问目标域名页面(必须先进入该域名,否则无法添加Cookie) driver.get("https://www.google.com") # 添加Google的Cookie driver.add_cookie({ "domain": ".google.com", "secure": False, "name": "SEARCH_SAMESITE", "value": "CgQIs5YB", "path": "/", "expiry": 1678918203 }) # 切换到Youtube页面,添加对应Cookie driver.get("https://www.youtube.com") driver.add_cookie({ "domain": ".youtube.com", "secure": True, "name": "VISITOR_INFO1_LIVE", "value": "-JTWPhbwbcc", "path": "/", "expiry": 1679506673 })
注意事项
- 必须先访问Cookie所属的域名页面,否则Selenium会拦截跨域Cookie的添加请求。
- 字典中的键名要严格匹配Selenium要求,
name、value、domain是必填项,其他字段如expiry、secure根据实际Cookie属性填写。 - 如果Cookie带有
HttpOnly属性,需要在字典中添加"httpOnly": True字段。
内容的提问来源于stack exchange,提问作者abdul
相关产品推荐
相关产品推荐

