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.
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