php phantomjs cookie,phantomJS报错:Can only set Cookies for the current domain

需求

有时候一些场景不得不使用phantomJS来获取页面动态加载的信息,但是遇到一些需要登录状态的页面,绕不过登录,就是能将cookies放入phantomJS中才行了

错误代码

# 获取浏览器

driver = webdriver.PhantomJS(executable_path='phantomjs.exe')

# 拿到cookies信息

cookie = {"SSOLoginState":"1488702265"}

for key in cookie:

c = {}

c['name'] = key

c['value'] = cookie[key]

c['domain'] = 'example.com'

c['page'] = '/'

c['httponly'] = False

c['secure'] = False

driver.add_cookie(c)

报错信息

Can only set Cookies for the current domain...

....

...

Screenshot: available via screen

大概是说不能将cookies放入本域名,可能是跨域了

官网的例子

phantomJS官网

完整的cookies信息应该是这样的:

{

domain: 'example.com',

expires: 'Sat Oct 11 2014 21:44:33 GMT+0200 (CEST)',

expiry: 1476128618,

httponly: false,

name: 'cookieName',

path: '/',

secure: false,

value: cookieValue

}

原因:

原来cookies中有一个key是path,而不是page!!!!另外还有domain前面 需要加一个. 例如jianshu.com,则正确的domain应该写成

domain: '.jianshu.com'

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值