Вы должны использовать куки, чтобы вы могли получать от них предыдущие данные. Вот ссылка о наборе повара ie в кукловоде.
Здесь ниже приведен пример кода для установки файлов cookie в кукловоде. Он устанавливает свойство «login_email» в Paypal cook ie, поэтому экран входа в систему предварительно заполнен адресом электронной почты.
const cookie = {
name: 'login_email',
value: 'set_by_cookie@domain.com',
domain: '.paypal.com',
url: 'https://www.paypal.com/',
path: '/',
httpOnly: true,
secure: true
}
const puppeteer = require('puppeteer');
(async () => {
const browser = await puppeteer.launch()
const page = await browser.newPage()
await page.setCookie(cookie)
await page.goto('https://www.paypal.com/signin')
await page.screenshot({ path: 'paypal_login.png' })
await browser.close()
})()
Что касается получения файлов cookie, вы можете создать Chrome Сеанс протокола DevTools на целевой странице с использованием target.createCDPSession () . Затем вы можете отправить Network.getAllCookies , чтобы получить список всех файлов cookie браузера.
Функция page.cookies () будет возвращать куки только для текущего URL. Таким образом, мы можем отфильтровать файлы cookie текущей страницы из всех файлов cookie браузера, чтобы получить список только сторонних файлов cookie.
const client = await page.target().createCDPSession();
const all_browser_cookies = (await client.send('Network.getAllCookies')).cookies;
const current_url_cookies = await page.cookies();
const third_party_cookies = all_browser_cookies.filter(cookie => cookie.domain !== current_url_cookies[0].domain);
console.log(all_browser_cookies); // All Browser Cookies
console.log(current_url_cookies); // Current URL Cookies
console.log(third_party_cookies); // Third-Party Cookies
Например, получить все файлы cookie
const puppeteer = require('puppeteer');
(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'));
})();
Надеюсь, это поможет вам.