对不起,我找不到阻止第三方cookie的代码。我在下面作为示例添加的代码段吸引了所有cookie。 我要阻止第三方Cookie 。
await page._client.send('Network.getAllCookies'));
答案 0 :(得分:0)
您可以通过
获取第一方Cookieawait page.cookies()
据我所知,没有用于阻止第三方Cookie的CDP命令或终端开关。话虽如此,您可以创建一个配置文件并在该配置文件中打开第3方Cookie阻止。一次初始化配置文件,然后每次使用该配置文件启动Chrome时,都会应用该设置。这样会将浏览器设置保留在不同的运行时间。
userDataDir
启动选项,并设置合理的等待时间,因为您将要与浏览器进行手动交互:
const browser = await puppeteer.launch({
headless: false,
userDataDir: "full/path/to/created/folder"
});
const page = await browser.newPage();
await page.waitFor(60000);
await browser.close();
Settings > Site Settings > Cookies and site data
并打开Block third-party cookies
现在,您可以在其他运行中使用此已初始化配置文件,并阻止第三方Cookie。
注意:请记住,其他数据(例如Cookie)也将存储在您创建的配置文件中,这与每次使用新配置文件运行的puppeteer的默认行为不同。为此,您可能需要考虑隐身模式。