我想在 Puppeteer 中禁用缓存,请问有人可以告诉我如何操作吗?我找到了 page.setCacheEnabled(enabled)
,但是不太明白如何使用。
我知道浏览器默认是没有启用缓存或 cookie 的,但在我的情况下,浏览器总是在后台运行,所以需要另一种解决方案。
我想在 Puppeteer 中禁用缓存,请问有人可以告诉我如何操作吗?我找到了 page.setCacheEnabled(enabled)
,但是不太明白如何使用。
我知道浏览器默认是没有启用缓存或 cookie 的,但在我的情况下,浏览器总是在后台运行,所以需要另一种解决方案。
await page.setCacheEnabled(enabled)
。这是在去年十二月份添加的。参见 Git Hub issue #1609。如果您查看 提交记录变更,您会发现有一个测试例子。await page.goto(SOMEURL);
await page.reload({waitUntil: 'networkidle2'});
expect(responses.get('one-style.css').fromCache()).toBe(true);
await page.setCacheEnabled(false);
await page.reload({waitUntil: 'networkidle2'});
expect(responses.get('one-style.css').fromCache()).toBe(false);
const context = await browser.createIncognitoBrowserContext();
const page = await context.newPage();
这将为每个页面提供一个全新的开始。cdpSession.send()
来禁用缓存:const client = await page.target().createCDPSession();
await client.send('Network.setCacheDisabled', {
cacheDisabled: true,
});
或者您可以使用更易读的page.setCacheEnabled()
:
await page.setCacheEnabled(false);
let browser = await puppeteer.launch(); // no cache, no cookies!
userDataDir
,那么这将无法工作。 - Eduard Jacko