首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Selenium addCookie获取无效Cookie域异常,即使我在正确的域上

问Selenium addCookie获取无效Cookie域异常,即使我在正确的域上
EN

Stack Overflow用户
提问于 2013-10-03 08:37:28
回答 2查看 8.4K关注 0票数 5

因此,我尝试使用Selenium/Geb将以前保存的cookie加载到我的web驱动程序中。首先,我转到域,然后尝试添加cookie。但是cookie域和url域并没有相互注册:

代码语言:javascript
复制
Caught: org.openqa.selenium.InvalidCookieDomainException: 
You may only add cookies that would be visible to the current domain: .domain=.example.com => .www.example.com
Build info: version: '2.35.0', revision: '8df0c6bedf70ff9f22c647788f9fe9c8d22210e2', time: '2013-0  8-17 12:46:41'
System info: os.name: 'Linux', os.arch: 'amd64', os.version: '3.2.0-48-generic', java.version:   '1.6.0_27'
Driver info: driver.version: unknown

似乎cookie的域是.example.com,而当我转到http://example.com时,我得到的域是.www.example.com。我能想到的唯一解决方案是重写一些方法来欺骗我当前的域,但我不知道如何去做。

EN

回答 2

Stack Overflow用户

发布于 2014-11-10 07:47:01

我有一个有点类似的问题,我得到了“您可能只为当前域设置cookie”错误,没有明显的原因。

我通过剥离cookie中除name和value之外的所有参数来解决这个问题:

(Python)

代码语言:javascript
复制
cookies = pickle.load(open("cookies.pkl", "rb"))
for cookie in cookies:
    print cookie
    new_cookie={}
    new_cookie['name']=cookie['name']
    new_cookie['value']=cookie['value']
    driver.add_cookie(new_cookie)
票数 1
EN

Stack Overflow用户

发布于 2021-02-11 22:16:21

问题是旧的,可能给出的答案用来工作,但在Selenium 3.140.0中,剥离域名并只添加名称和值仍然会抛出无效的Cookie域异常。

对我来说起作用的是browser.get,然后使用与加载的页面相同的域执行browser.add_cookie。

我使用会话cookie绕过登录页面来确认这一点。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19149034

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档