Я хочу отключить кеш кукольника, может ли кто-нибудь рассказать мне, как я могу это сделать? Я нашел этот page.setCacheEnabled(enabled)
но я не мог понять, как использовать его.
Я знаю, что браузер запущен без кеша или файлов cookie, но в моем случае браузер всегда работает в фоновом режиме, поэтому нужно другое решение.
Согласно документам кукловода, вы можете использовать await page.setCacheEnabled(enabled)
Это было добавлено еще в декабре. См. Вопрос Git Hub № 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);
Каждый запуск браузера начинается с чистого HTTP-кеша и без каких-либо файлов cookie.
let browser = await puppeteer.launch(); // no cache, no cookies!
Вы можете попробовать это. Для моих случаев без кеша я использую это.
Вы можете использовать cdpSession.send()
для отключения кеша:
const client = await page.target().createCDPSession();
await client.send( 'Network.setCacheDisabled', { 'cacheDisabled' : true } );
Кроме того, вы можете использовать более читаемый page.setCacheEnabled()
:
await page.setCacheEnabled( false );