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

时间:2015-10-20 17:19:25

标签: java selenium selenium-webdriver selenium-chromedriver

如果我的问题听起来很重要,我提前道歉,我在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();

我看了here,但没有弄明白。

1 个答案:

答案 0 :(得分:13)

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

presenceOfElementLocated只检查dom以查看它是否可以定位元素,无论其可见性如何。

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

visibilityOf public static ExpectedCondition visibilityOf(WebElement element) 期望检查已知存在于页面的DOM上的元素是否可见。 可见性意味着不仅会显示元素,还会使其高度和宽度大于0。 参数: