gpt4 book ai didi

java - ExpectedConditions.refresh 和 ExpectedConditions.stalenessof 之间有什么区别

转载 作者:行者123 更新时间:2023-11-29 04:10:00 25 4
gpt4 key购买 nike

能否请您帮助我理解 ExpectedConditions.refreshExpectedConditions.stalenessOf

最佳答案

ExpectedCondtion.referesh接受 ExpectedCondtion作为论点。

假设您有一个由应用程序操作并重新绘制的文本字段元素。通常,你会得到 StaleElementReferenceException因为当WebDriver调用 findElement方法,它将 REFERENCE 保存到对象。如果重新绘制对象,则对该对象的引用不再实际并且 StaleElementReferenceException被抛出。

ExpectedCondition.stalenessOf等到元素被重新绘制。如果发生 DOM 操作,这可能有助于等待。然后,您可以再次找到您的元素并执行操作(或者使用 PageFactory 创建的元素而不是重新查找它)。

但是,该元素可能会被多次操作(例如通过前端的 jQuery 调用)。在这种情况下,等到元素过时并尝试找到它,可能会抛出 StaleElementReferenceException。无论如何,因为该元素再次变得陈旧。

在这种情况下,您可以使用 ExpectedCondition.refresh(<my-expected-condition>) .这将允许您在时间范围内执行操作,而不管元素是否过时

关于java - ExpectedConditions.refresh 和 ExpectedConditions.stalenessof 之间有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55630871/

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