【发布时间】:2019-11-27 17:04:21
【问题描述】:
这是我的场景:
我的应用程序使用 Azure 身份验证,因此它的设置方式是当我说 await page.goto(url,{waitUntil:'condition'}) 时 - 它会在新选项卡中打开应用程序,然后打开一个新窗口,该窗口获取身份验证令牌并自行关闭并返回主应用页面。
现在的问题是当这个新页面打开时,puppeteer 认为这个await page.goto(url,{waitUntil:'condition', timeout:60000}) 行的执行已经完成。所以它跳到下一行,即使我的应用程序还没有加载。我不确定如何获取主应用程序页面的实例并让它等到导航完成。所以我尝试了以下选项,我尝试让所有打开的页面实例 waitForNavigation:
pages = await browser.pages(
pages.forEach(page => {
await page.waitForNavigation({waitUntil: 'networkidle0', timeout: 60000})
})
-这也没有用。
请让我知道如何使父页面/包含我的主应用程序的页面等到另一个选项卡将令牌返回给它。
~tia
【问题讨论】:
-
您没有正确使用异步等待。你能与 page.goto 分享前几行吗?
标签: javascript node.js ui-automation puppeteer