这是我的情况:
我的应用程序使用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
答案 0 :(得分:0)
如果您无法将登录令牌存储在实际页面中(可能作为回调函数接收到)
也许您可以使用
到
如果您可以检查页面中令牌的存在,
稍等片刻,直到令牌具有值。