Puppeteerのキャッシュを無効にしたいのですが、どうすればよいのか教えてもらえますか?これはpage.setCacheEnabled(enabled)
でしたが、使い方がわかりませんでした。
ブラウザはキャッシュやCookieなしで起動されることを認識していますが、私の場合、ブラウザは常にバックグラウンドで実行されているため、別のソリューションが必要です。
人形遣いのドキュメントによれば、await page.setCacheEnabled(enabled)
を使用できます
これは12月に追加されました。 Git Hubの問題#1609を参照
commit changes を見ると、テストがあります。
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);
cdpSession.send()
を使用してキャッシュを無効にすることができます:
_const client = await page.target().createCDPSession();
await client.send('Network.setCacheDisabled', {
cacheDisabled: true,
});
_
または、より読みやすい page.setCacheEnabled()
を使用できます。
_await page.setCacheEnabled(false);
_
セッションの分離が必要な場合は、const context = await browser.createIncognitoBrowserContext(); const page = await context.newPage();
もあり、各ページから新たに開始できます。
ブラウザの起動はすべて、クリーンなHTTPキャッシュから始まり、Cookieはありません。
let browser = await puppeteer.launch(); // no cache, no cookies!
これを試してみてください。キャッシュなしの場合は、これを使用しています。