gpt4 book ai didi

java - waitForAngularRequestsToFinish()——有什么用?

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:45:22 36 4
gpt4 key购买 nike

java- Selenium

你好,我最近正在使用 selenium-java 进行项目自动化。我发现在很多代码中都在使用这种方法。

waitForAngularRequestsToFinish();

我不知道为什么在 main 函数中会有这个。在下一个示例中是我的代码,因为我不知道在开始和结束时使用这种方法有什么好处。

此代码示例:

public void ActualizarEstadoDeFinalizacion(String caso) {


waitForAngularRequestsToFinish();
JavascriptExecutor js = (JavascriptExecutor) getDriver();
js.executeScript("window.scrollBy(850)");
WebElement htmlScrollProblemaDeCierre = findBy(String.format("//*[@title='%s']//ancestor::div[@class='oneWorkspaceTabWrapper']//span/span[contains(.,'Estado de finalización')]//following::a[1]/parent::div/parent::div/parent::Div/parent::div",caso));

htmlScrollProblemaDeCierre.click();
waitForAngularRequestsToFinish();

}

最佳答案

代码的作者创建了一个名为 waitForAngularRequestsToFinish() 的函数。

这是一种等待所有待处理请求加载的方法...

一般会用JavaScript来实现... 可以看paul-hammant's ngWebDriver .

如果你愿意,你可以自己实现:

JavascriptExecutor js = (JavascriptExecutor)driver;
js.executeScript("var injector = window.angular.element('body').injector(); var $http = injector.get('$http'); return ($http.pendingRequests.length === 0);")

在方法的开始和结束时使用它的好处是保证你来到的页面和你引导的页面是完全加载的。

希望对你有帮助!

关于java - waitForAngularRequestsToFinish()——有什么用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54790745/

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