2017-05-30 62 views
0

我的硒码下面的序列,Node.js的书面:饼干添加硒的webdriver

it('tests cookies', t => { 
     driver.manage().getCookies().then(function (cookies) { 
     console.log('all cookies => ', cookies); 
     }); 
     driver.manage().addCookie({name:'foo', value: 'bar'}); 
     driver.manage().getCookies().then(function (cookies) { 
     console.log('all cookies => ', cookies); 
     }); 
     driver.manage().deleteCookie('foo'); 
     return driver.manage().getCookies().then(function (cookies) { 
     console.log('all cookies => ', cookies); 
     }); 
    }); 

,我得到这样的输出:

all cookies => [] 
all cookies => [] 
all cookies => [] 

有人知道为什么的addCookie功能止跌不工作?我不知道我明白为什么这不会在饼干罐中产生一些饼干。

回答

2

问题是Cookie域未定义。在使用Cookie之前,您需要导航到某个网址。在获取所有cookie 之后和设置新的cookie之前,尝试添加driver.get('<some_url>')

it('tests cookies', t => { 
 
     driver.get('127.0.0.1'); // <-- This will set the domain 
 
     driver.manage().getCookies().then(function (cookies) { 
 
     console.log('all cookies => ', cookies); 
 
     }); 
 
     driver.manage().addCookie({name:'foo', value: 'bar'}); 
 
     driver.get('127.0.0.1'); // <-- Navigate again after setting a new cookie 
 
     driver.manage().getCookies().then(function (cookies) { 
 
     console.log('all cookies => ', cookies); 
 
     }); 
 
     driver.manage().deleteCookie('foo'); 
 
     return driver.manage().getCookies().then(function (cookies) { 
 
     console.log('all cookies => ', cookies); 
 
     }); 
 
    });

看到这个还有:Selenium JS add cookie to request

+0

感谢,我期待在这里:https://seleniumhq.github.io/selenium/docs/api/javascript/module/selenium -webdriver/lib/webdriver_exports_Options.html –

+0

由于某种原因本调用:driver.manage()。addCookie({name:'cec_user_id',value:val,secure:true,httpOnly:true});产率: –

+0

所有Cookie => [{路径: '/', 域: 'CDT-服务器', 名: 'cec_user_id', 仅Http:假, 安全:假, hCode:-810793967, 值: 'alexamil', class:'org.openqa.selenium.Cookie'}] –