gpt4 book ai didi

javascript - 使用 selenium webdriver 等待网络空闲?

转载 作者:行者123 更新时间:2023-12-01 15:44:07 24 4
gpt4 key购买 nike

Puppeteer 具有等待网络完全空闲的能力,是否可以使用 python selenium web 驱动程序实现相同的显式等待,或者通过从驱动程序上下文执行一些 javascript 直接使用一些 javascript 解决方法?

等待 jQuery.active/页面就绪状态等是常见的做法,但我们是否可以查询待处理的请求并等待网络完全空闲?

最佳答案

所以我在这个问题中看到了两个问题:

  • Selenium 是否有办法监控所有基于 Web 的 API 调用?在 3.x.x
  • 之前,我还没有在任何 Selenium 实现中看到这一点。
  • 我们可以实现这样的方法吗 - 是的。我们可以为每个触发的请求增加一个计数器,并为每个满足的请求减少它,只有在计数器为零时才继续使用测试脚本。我可以设想这是通过 Chrome Dev 协议(protocol)(Selenium 4+)或网络代理(browsermob)实现的。

  • 注 1:Selenium 官方建议对此类问题使用流利等待或显式等待。
    注2:我已经看到了一些等待文档就绪状态的粗略和抽象的实现:
    public void waitForPagetoLoad() throws InterruptedException {
    long millis = 1000;
    Thread.sleep(millis);
    do {
    Thread.sleep(millis);
    millis = millis + 2000;
    } while (!(((JavascriptExecutor) driver).executeScript("return document.readyState").toString()
    .equals("complete")) || millis <= 10000);
    Reporter.log("Web page loading is complete in " + (millis / 1000) + " Seconds");

    }

    关于javascript - 使用 selenium webdriver 等待网络空闲?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54681137/

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