解决selenium传入cookies错误:InvalidCookieDomainException: Message: Cookies may only be set for the curre

本文介绍了一种解决因cookies的domain不同导致的错误的方法。通过筛选并保留拥有最多cookie的单一域,可以有效避免跨域问题,确保网站正常运行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这是因为cookies的domain不同造成的。去掉含有多余domain的cookie,不再报错。

def getPureDomainCookies(cookies):
    domain2cookie={}  #做一个域到cookie的映射
    for cookie in cookies:
        domain=cookie['domain']
        if domain in domain2cookie:
            domain2cookie[domain].append(cookie)
        else:
            domain2cookie[domain]=[]
    maxCnt=0
    ansDomain=''
    for domain in domain2cookie.keys():
        cnt=len(domain2cookie[domain])
        if cnt > maxCnt:
            maxCnt=cnt
            ansDomain=domain
    ansCookies=domain2cookie[ansDomain]
    return ansCookies
# 加载cookies
with open('cookies.json','r') as f:
    cookies=json.load(f)
cookies=getPureDomainCookies(cookies)
for cookie in cookies:
    browser.add_cookie(cookie)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值