Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

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.

like image 464
greenspider Avatar asked Nov 11 '22 21:11

greenspider


1 Answers

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)
like image 144
joaoroque Avatar answered Nov 15 '22 00:11

joaoroque