【问题标题】:Wait for network idle after click点击后等待网络空闲
【发布时间】:2023-02-03 22:14:12
【问题描述】:

我正在寻找一种方法,可以让我在单击按钮或执行某些操作后等待网络空闲。 有点击后等待网络空闲的方法吗? page.locator("text=Click").click() //some method that wait network is idle after clicking the button

我试过 waitForLoadState 仅在有导航时才有效。 waitForResponse 适用于特定请求,但对我不利。

【问题讨论】:

  • 澄清一下,当您单击该按钮时,该页面保留在相同的 URL 上,不执行 url 的重新加载,并且单击会动态加载某些内容?
  • 是的,您正确地在同一 URL 上获取数据,“客户端呈现”。

标签: playwright playwright-java


【解决方案1】:

有一个网络空闲等待的编剧库。

await page.waitForLoadState('networkidle')

我希望这可以帮助你。

【讨论】:

    【解决方案2】:

    由于您的用例是单击在其他 DOM 元素中动态加载的链接,您可以尝试使用 .waitForSelector()

    page.locator("text=Click").click()
    page.waitForSelector('selector for what you are waiting for here')
    

    还将选项传递给 waitForSelector 以等待它被附加和/或可见并适当地设置超时。

    我打算建议使用断言轮询,但我认为 playwright 的 Java 版本还没有。

    【讨论】:

      【解决方案3】:

      你可以试试page.waitForTimeout(milliseconds),为了安全起见,给它一个等待值。在某些情况下,它帮助我增加了等待时间,因为加载时间导致测试超时 5000 毫秒。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-06-20
        • 2019-07-07
        • 2016-04-07
        • 2020-11-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多