Selenium addCookie getting Invalid Cookie Domain Exception even though I'm on the right domain

大憨熊 提交于 2019-12-10 07:27:49

问题


So I'm trying to load previously saved cookies into my web driver with Selenium/Geb. First I goto the domain and then try to add the cookies. But the cookie domain and the url domain don't register with each other:

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

It seems the cookie's domain is .example.com and the domain I get to when I go to http://example.com is .www.example.com. The only solution I can think of is overriding some method to spoof my current domain, but I have no idea how to go about that.


回答1:


I had a somewhat similar problem where I was getting the "You may only set cookies for the current domain" error for no apparent reason.

I solved it by striping the cookie of all the parameters except name and value:

(Python)

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)


来源:https://stackoverflow.com/questions/19149034/selenium-addcookie-getting-invalid-cookie-domain-exception-even-though-im-on-th

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!