Chrome 有没有可能有2个不同的 puppet 师示例连接到同一个浏览器?[已关闭]

qlzsbp2j  于 2023-09-28  发布在  Go
关注(0)|答案(1)|浏览(96)

已关闭,此问题需要details or clarity。它目前不接受回答。
**想改善这个问题吗?**通过editing this post添加详细信息并澄清问题。

2天前关闭。
Improve this question
我试图有2个不同的傀儡示例连接到同一个浏览器,每个管理不同的标签(只是在每个标签上运行不同的脚本)。
它必须是2个不同的示例,不幸的是,我不能将它们合并在一起。有没有可能让多个puppeteer示例只向同一个浏览器示例发送请求?

cyvaqqii

cyvaqqii1#

如果您希望使用更多选项卡

您需要一个浏览器示例和多个页面。

(async () => {
    const browser = await puppeteer.launch({headless: 'new'});

    const bingPage = await browser.newPage();
    const googlePage = await browser.newPage();

    await googlePage.setViewport({width: 1080, height: 1024});
    await bingPage.setViewport({width: 1080, height: 1024});

    Promise.all([
        googlePage.goto('https://google.com').then(async () => {
            await googlePage.screenshot({path: 'google.jpg'})
        }),
        bingPage.goto('https://www.bing.com').then(async () => {
            await bingPage.screenshot({path: 'bing.jpg'})
        })
    ])
        .then(() => browser.close())
        .catch(console.error)
})();

如果您需要多个浏览器示例

(async () => {
    const browser1 = await puppeteer.launch({headless: 'new'});
    const browser2 = await puppeteer.launch({headless: 'new'});

    const bingPage = await browser1.newPage();
    const googlePage = await browser2.newPage();

    await googlePage.setViewport({width: 1080, height: 1024});
    await bingPage.setViewport({width: 1080, height: 1024});

    googlePage.goto('https://google.com').then(async () => {
        await googlePage.screenshot({path: 'google.jpg'})
        await browser1.close()
    }).catch(console.error)

    bingPage.goto('https://www.bing.com').then(async () => {
        await bingPage.screenshot({path: 'bing.jpg'})
        await browser2.close()
    }).catch(console.error)
})();

另请查看this question如何运行多个示例

相关问题