Кукловод получает стороннее печенье

3

Как я могу получить сторонние файлы cookie с веб-сайта с помощью кукловода?

Для первой стороны я знаю, что могу использовать await page.cookies()

  • 0
    Вы, вероятно, не можете. У JS обычно нет такого доступа.
  • 0
    Должен быть какой-то способ. Например cookiepedia извлечь все куки с любой страницы
Показать ещё 8 комментариев
Теги:
cookies
puppeteer
google-chrome-headless

1 ответ

10

Мне было интересно узнать ответ, поэтому я также нашел решение, оно работает для текущих версий Chrome 75.0.3765.0 и puppeteer 1.15.0 (обновлено 2 мая 2019 года).

Используя внутренние методы puppeteer page._client мы можем напрямую использовать протокол Chrome DevTools:

(async() => {
  const browser = await puppeteer.launch({});
  const page = await browser.newPage();
  await page.goto('https://stackoverflow.com', {waitUntil : 'networkidle2' });

  // Here we can get all of the cookies
  console.log(await page._client.send('Network.getAllCookies'));

})();

В возвращенном объекте есть файлы cookie для google.com и imgur.com, которые мы не смогли бы получить с помощью обычного браузера javascript:

Изображение 174551

  • 0
    это больше не работает, как в Chrome 73.0.3683.103, верно?
  • 0
    @noli Я установил последнюю версию puppeteer 1.15.0 с Chromium 75.0.3765, и она сработала: скриншот
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню