一尘不染

“ ExpectedConditions.visibilityOfElementLocated”和“ ExpectedConditions.presenceOfElementLocated”之间的确切区别是什么?

selenium

如果我的问题听起来很重要,我会事先道歉,我在QA和Selenium中非常陌生。

之间的确切区别是什么?

 wait.until(ExpectedConditions.visibilityOfElementLocated
                    (By.xpath("//a[text()='Show advanced settings...']"))).click();

 wait.until(ExpectedConditions.presenceOfElementLocated
                    (By.xpath("//a[text()='Show advanced settings...']"))).click();

我在这里看了一下,但没有弄清楚。


阅读 647

收藏
2020-06-26

共1个答案

一尘不染

visibleOfElmementLocated检查元素是否存在以及是否可见。要检查可见性,请确保元素的高度和宽度大于0。

presentOfElementLocated仅检查dom以查看它是否可以定位元素(无论其可见性如何)。

来源:https :
//selenium.googlecode.com/git/docs/api/java/org/openqa/selenium/support/ui/ExpectedConditions.html#visibilityOf-
org.openqa.selenium.WebElement-

visibleOf公共静态的ExpectedCondition
visibleOf(WebElement元素)一种期望,用于检查已知在页面DOM上存在的元素是否可见。
可见性意味着不仅显示元素,而且其高度和宽度都大于0。参数:

2020-06-26