gpt4 book ai didi

selenium - element.isDisplayed() 和 wait.until(ExpectedConditions.visibilityOf(element)) 之间的区别;

转载 作者:行者123 更新时间:2023-12-03 00:35:12 25 4
gpt4 key购买 nike

我正在尝试使用 WebDriver 的 FluentAPI,但对可用的选择有点困惑。我想等待一个元素变得可见。我知道有很多方法可以做到这一点,但我想具体了解以下两种方法之间的区别:

 (1)new FluentWait<WebElement>(webElement).
withTimeout(timeoutSeconds, TimeUnit.SECONDS).
pollingEvery(pollingTime, TimeUnit.MILLISECONDS).
untilwait.until(ExpectedConditions.visibilityOf(element));

(2) public void waitForWebElementFluently(WebElement webElement) {
new FluentWait<WebElement>(webElement).
withTimeout(timeoutSeconds, TimeUnit.SECONDS).
pollingEvery(pollingTime, TimeUnit.MILLISECONDS).
until(new Predicate<WebElement>() {
@Override
public boolean apply(WebElement element) {
return element.isDisplayed();
}
}
);
}

使用isDisplayed和visibilityOf有什么区别?

最佳答案

isDisplayed:

该元素是否显示?此方法避免了必须解析元素的“style”属性的问题。 Source

<小时/>

可见性

期望检查页面 DOM 上已知的元素是否可见。可见性是指元素不仅能显示,而且高度和宽度都大于0。 Source .

<小时/>

因此可见性涵盖了正在显示的元素的情况。

关于selenium - element.isDisplayed() 和 wait.until(ExpectedConditions.visibilityOf(element)) 之间的区别;,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22235208/

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