跳至主要内容

setCookies

为当前页面设置一个或多个cookie。确保您在应该接收cookie的页面上。您不能在不处于该页面上的情况下为任意页面设置cookie。

用法
browser.setCookies({ name, value, path, domain, secure, httpOnly, expiry, sameSite })
参数
名称类型详情
cookieArray<WebDriverCookie>, WebDriverCookiecookie 对象或对象数组。
cookie.name
可选
字符串cookie 的名称。
cookie.value
可选
字符串cookie 值。
cookie.path
可选
字符串cookie 路径。如果在添加 cookie 时省略,则默认为“/”。
cookie.domain
可选
字符串cookie 对其可见的域名。如果在添加 cookie 时省略,则默认为当前浏览上下文活动文档的 URL 域名。
cookie.secure
可选
布尔值cookie 是否为安全 cookie。如果在添加 cookie 时省略,则默认为 false。
cookie.httpOnly
可选
布尔值cookie 是否为 HTTP only cookie。如果在添加 cookie 时省略,则默认为 false。
cookie.expiry
可选
数字cookie 过期时间,以自 Unix 纪元以来的秒数表示。在添加 cookie 时必须不设置如果省略。
cookie.sameSite
可选
字符串cookie 是否应用于 SameSite 策略。如果在添加 cookie 时省略,则默认为 None。可以设置为“Lax”或“Strict”。
示例
setCookies.js
it('should set a cookie for the page', async () => {
await browser.url('/')

// set a single cookie
await browser.setCookies({
name: 'test1',
value: 'one'
// The below options are optional
// path: '/foo', // The cookie path. Defaults to "/"
// domain: '.example.com', // The domain the cookie is visible to. Defaults to the current browsing context’s active document’s URL domain
// secure: true, // Whether the cookie is a secure cookie. Defaults to false
// httpOnly: true, // Whether the cookie is an HTTP only cookie. Defaults to false
// expiry: 1551393875 // When the cookie expires, specified in seconds since Unix Epoch
})

// set multiple cookies
await browser.setCookies([
{name: 'test2', value: 'two'},
{name: 'test3', value: 'three'}
])

const cookies = await browser.getCookies()
console.log(cookies);
// outputs:
// [
// {name: 'test1', value: 'one', domain: 'www.example.com'},
// {name: 'test2', value: 'two', domain: 'www.example.com'},
// {name: 'test3', value: 'three', domain: 'www.example.com'}
// ]
});

欢迎!我如何帮助您?

WebdriverIO AI Copilot