Готовы ли вы окунуться в захватывающий мир Puppeteer? Если вы хотите открывать двойные страницы или выполнять другие сложные действия с помощью этого мощного инструмента очистки веб-страниц и автоматизации браузера, вы попали по адресу! В этой статье блога мы рассмотрим различные методы достижения этой цели, дополненные разговорными объяснениями и примерами кода. Итак, начнём!
Метод 1: использование target.createCDPSession()
const puppeteer = require('puppeteer');
(async () => {
const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.goto('https://www.example.com');
const target = await browser.waitForTarget(
target => target.url().includes('example.com')
);
const client = await target.createCDPSession();
await client.send('Page.setLifecycleEventsEnabled', { enabled: true });
await client.send('Page.navigate', { url: 'https://www.anotherexample.com' });
})();
Метод 2: использование browser.newPage()
const puppeteer = require('puppeteer');
(async () => {
const browser = await puppeteer.launch();
const page1 = await browser.newPage();
await page1.goto('https://www.example.com');
const page2 = await browser.newPage();
await page2.goto('https://www.anotherexample.com');
})();
Метод 3: использование Promise.all()
const puppeteer = require('puppeteer');
(async () => {
const browser = await puppeteer.launch();
const [page1, page2] = await Promise.all([
browser.newPage(),
browser.newPage()
]);
await page1.goto('https://www.example.com');
await page2.goto('https://www.anotherexample.com');
})();
Метод 4: использование browser.pages()
const puppeteer = require('puppeteer');
(async () => {
const browser = await puppeteer.launch();
const [page1, page2] = await browser.pages();
await page1.goto('https://www.example.com');
await page2.goto('https://www.anotherexample.com');
})();
Метод 5: использование browser.newContext()
const puppeteer = require('puppeteer');
(async () => {
const browser = await puppeteer.launch();
const context = await browser.createIncognitoBrowserContext();
const [page1, page2] = await Promise.all([
context.newPage(),
context.newPage()
]);
await page1.goto('https://www.example.com');
await page2.goto('https://www.anotherexample.com');
await browser.close();
})();
Вот и все! Мы рассмотрели несколько способов открытия двойных страниц с помощью Puppeteer. Предпочитаете ли вы создать новую страницу с помощью browser.newPage()
, использовать Promise.all()
или даже использовать browser.newContext()
, эти методы помогут вам достичь цели — открыть несколько страницы одновременно.
Помните, Puppeteer — это универсальный инструмент, который выходит далеко за рамки простого открытия двойных страниц. Благодаря его обширным возможностям вы можете автоматизировать веб-задачи, собирать данные и выполнять различные действия на веб-сайтах. Итак, зачем останавливаться здесь? Продолжайте исследовать и раскрыть весь потенциал Puppeteer!