use*_*421 2 cookies session node.js puppeteer
我正在使用 node.js 并且显然可以访问我的签名 cookie。
它们是这种形式:
{ 'connect.sid': 's:qX4ZrttrjydtrjkgsdghsdghrewynZj4Ew2OUh.tTSILkcvgsegsegsegsr99gmW5
0XLcJefM' }
Run Code Online (Sandbox Code Playgroud)
Puppeteer 支持 cookie 并且为了传递 cookie 的参数而有这个功能:
page.setCookie(...cookies)
...cookies <...Object>
name <string> required
value <string> required
url <string>
domain <string>
path <string>
expires <number> Unix time in seconds.
httpOnly <boolean>
secure <boolean>
sameSite <string> "Strict" or "Lax".
returns: <Promise>
Run Code Online (Sandbox Code Playgroud)
如您所见,您直接提供了每个字段的参数。有没有办法将我签名的 cookie 直接传递给 puppeteer?
您必须提取并使用正确的 cookie 格式。
使用...spread 将所有 cookie 作为参数传递给setCookie.
await page.setCookie(...cookies)
Run Code Online (Sandbox Code Playgroud)完毕!
如果你想写cookies,那么这里有一个格式。
const cookies = [
{
"domain": "localhost", // google.com, yahoo.com etc. Without the host
"hostOnly": true,
"httpOnly": true,
"name": "connect.sid", // here is the actual cookie name
"path": "/",
"sameSite": "no_restriction",
"secure": false,
"session": true,
"storeId": "0",
"value": "s%3AliYZ-M8urEQLfgn2_kSG_FIPwVTr5VQs.5rrJW7hzuXebekzTRgPYFTYri5nljhGCp8Dz%2FgLoSN4", // and the value
"id": 1
}
]
Run Code Online (Sandbox Code Playgroud)
const cookie = {
name: 'login_email',
value: 'set_by_cookie@domain.com',
domain: '.paypal.com',
url: 'https://www.paypal.com/',
path: '/',
httpOnly: true,
secure: true
}
const puppeteer = require('puppeteer');
const browser = await puppeteer.launch()
const page = await browser.newPage()
await page.setCookie(cookie)
await page.goto('https://www.paypal.com/signin')
await page.screenshot({
path: 'paypal_login.png'
})
await browser.close()
Run Code Online (Sandbox Code Playgroud)
如果您注意到原始文档,它会显示page.setCookie(...cookies)带有三个点的 cookie。这基本上意味着您可以通过这种方式将对象数组作为参数传递。
您如何将数据放入 cookie 变量取决于您,您可以对其进行硬编码,您可以使用某些数据库等。这与您如何传递 cookie 无关。
如果它只有一个 cookie,就像在 paypal 示例中一样,您将它们传递给page.setCookie(cookie),但是如果它是多个 cookie,就像您从使用 EditThisCookie 或上面的 localhost 示例导出的那样,那么您必须使用带有三个点的扩展运算符,就像我上面解释的那样.
你可以阅读更多关于传播和休息这个问题。
| 归档时间: |
|
| 查看次数: |
4845 次 |
| 最近记录: |