gpt4 book ai didi

puppeteer - 在 puppeteer 中如何等待弹出页面完成加载?

转载 作者:行者123 更新时间:2023-12-03 19:23:52 25 4
gpt4 key购买 nike

在以下示例中,如何等待弹出窗口完成加载?
点击谷歌图标后,当我尝试进行交互时,您会看到一个弹出窗口来登录 Gmail
第二页是未定义的(因为我不知道如何等待它完全加载。
有什么建议吗?

const puppeteer = require('puppeteer');

(async () => {
const browser = await puppeteer.launch({headless: false});
page = await browser.newPage();
await page.goto("https://www.example.com/signin");
await page.waitForSelector(".Icon-google");
await page.click(".Icon-google");
const pages = await browser.pages();
console.log(pages[2].url());
})();

最佳答案

您可以等待创建新目标。

const browser = await puppeteer.launch({headless: false});
page = await browser.newPage();
await page.goto("https://app.testim.io/#/signin");
await page.waitForSelector(".Icon-google");
const nav = new Promise(res => browser.on('targetcreated', res))
await page.click(".Icon-google");
await nav
const pages = await browser.pages();
console.log(pages.length);//number of pages increases !
console.log(pages.map(page => page.url()));

附言我第一次尝试 page.waitForNavigation()但它不起作用,可能是因为它是一个弹出窗口。

关于puppeteer - 在 puppeteer 中如何等待弹出页面完成加载?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50119325/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com