如何解决在Ubuntu上使用Puppeteer时page.setCookie没有影响
我与Puppeteer有一个奇怪的问题。当前的cookie设置代码如下:
(保存cookie)
const cookies = await page.cookies();
await checkMongoConnection();
account.cookies = JSON.stringify(cookies,null,null);
await account.save();
await closeMongoConnection();
(加载Cookie)
const options = {
headless: true,defaultviewport: { width: 1366,height: 768 },ignoreHTTPSErrors: true,args: [
'--disable-sync','--ignore-certificate-errors'
],ignoreDefaultArgs: ['--enable-automation']
};
const browser = await puppeteer.launch(options);
const page = await browser.newPage();
// Cookies
if (account.cookies) {
// I have checked this with console.log it does contain cookies
const cookies = JSON.parse(account.cookies);
await page.setCookie(...cookies);
}
await page.goto('https://www.some-website.com');
在macOS(将headless
设置为false
和true
的macOS上运行时,此方法没有任何问题,还请注意我正在使用Chromium。
但是,当我尝试在Linux ubuntu服务器上运行此设置时,仅设置cookie无效。有人遇到过这个问题吗?有什么想法我可能在这里做错了吗?
[
{
name: 'personalization_id',value: '"v1_FijCjdT7iRj3K+cbhPiPIg=="',domain: '.somedomain.com',path: '/',expires: 1664967308.337118,size: 47,httpOnly: false,secure: true,session: false,sameSite: 'None'
},....
设置Cookie后,我尝试记录日志:
// Cookies
if (account.cookies) {
const cookies = JSON.parse(account.cookies);
await page.setCookie(...cookies);
}
console.log('check cookies');
const newCookies = await page.cookies();
console.log(newCookies);
这只会导致数组[]
为空,因此似乎他们拒绝设置。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。