Невозможно перейти на страницы настроек браузера (chrome://...
) таким образом.
У вас есть два варианта:
- Использовать окно инкогнито (называемое контекстом вpuppeteer)
- Используйте команду из протокола Chrome DevTools для очистки истории.
- Перезапустите браузер
Вариант 1. Использование окна в режиме инкогнито
Чтобы очистить историю (включая файлы cookie и любые данные), вы можете использовать «инкогнито» окно с именем BrowserContext в кукловоде.
Вы создаете контекст, вызывая browser.createIncognitoBrowserContext()
.Цитата из документов :
Создает новый контекст браузера в режиме инкогнито.Это не будет использовать куки / кеш с другими контекстами браузера.
Пример
const context = await browser.createIncognitoBrowserContext();
const page = await context.newPage();
// Execute your code
await page.goto('...');
// ...
await context.close(); // clear history
Этот пример создаст новое окно браузера инкогнито и откроетстраница внутри.Оттуда вы можете использовать дескриптор page
, как обычно.
Чтобы очистить любые куки или историю внутри, просто закройте контекст с помощью context.close()
.
Вариант 2: Используйте протокол Chrome DevTools для очистки истории
Если вы не можете полагаться на использование контекста (поскольку они не поддерживаются при использовании расширений), вы можете использовать Протокол Chrome DevTools для очистки историибраузера.Он имеет функции, которые не реализованы в кукловоде для сброса файлов cookie и кэша.Вы можете напрямую использовать функции из протокола Chrome DevTools, используя CDPSession .
Пример
const client = await page.target().createCDPSession();
await client.send('Network.clearBrowserCookies');
await client.send('Network.clearBrowserCache');
Это заставит браузер очиститьфайлы cookie и кеш, напрямую вызывая Network.clearBrowserCookies
и Network.clearBrowserCache
.
Вариант 3: Перезапустите браузер
Если обаподходы неосуществимы, вы всегда можете перезапустить браузер, закрыв старый экземпляр и создав новый.Это удалит все сохраненные данные.