【问题标题】:Get popup URL after a new request from javascript on playwright在剧作家的 javascript 发出新请求后获取弹出 URL
【发布时间】:2021-12-03 02:12:20
【问题描述】:

我在一个页面上有一个按钮,可以打开一个弹出窗口(新标签)。我可以通过侦听器获得此弹出窗口:

page.on('popup', async popup => {
       console.log('popup => ' + await popup.url());
    })

问题是网站打开它时使用“about:blank”链接,然后加载了一个 URL。

我试图在获取 url 之前等待几秒钟,但它一直显示一个空白字符串。

page.on('popup', async popup => {
       await page.waitForTimeout(10000);
       console.log('popup => ' + await popup.url());
    })

打开弹出窗口后的主页,更改它的 URL。所以我还不能将此 URL 发送到弹出窗口。

有什么想法吗?谢谢!

【问题讨论】:

    标签: javascript typescript playwright


    【解决方案1】:

    尝试在 console.logging 之前在 const 上设置 url

    page.on('popup', async popup => {
         await page.waitForTimeout(10000);
         const url = await popup.url()
         console.log('popup => ' + url);
    })
    

    【讨论】:

      【解决方案2】:

      您可以等待弹出窗口的导航,然后再打印出它的 url:

      page.on('popup', async popup => {
        await popup.waitForNavigation();
        console.log('popup => ' + await popup.url());
      })
      

      【讨论】:

        猜你喜欢
        • 2022-11-01
        • 1970-01-01
        • 2021-03-19
        • 2022-06-24
        • 2019-08-10
        • 2022-09-24
        • 2020-10-08
        • 2022-11-03
        • 1970-01-01
        相关资源
        最近更新 更多