因此,我尝试使用 Selenium/Geb 将以前保存的 cookie 加载到我的网络驱动程序中。首先,我进入域,然后尝试添加 cookie。但是 cookie 域和 url 域不互相注册:
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
is .www.example.com
。我能想到的唯一解决方案是覆盖某些方法来欺骗我当前的域,但我不知道如何去做。
我遇到了一个有点类似的问题,我无缘无故地收到“您只能为当前域设置 cookie”错误。
我通过剥离 cookie 中除名称和值之外的所有参数来解决这个问题:
(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)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)