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

如果我的问题听起来很重要,我提前道歉,我是 QA 和 Selenium 的新手.

My apologies in advance if my question sounds primary, I am very new at QA and Selenium.

两者之间的确切区别是什么:

What is the exact difference between:

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

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

我查看了 这里但没弄明白.

I had a look at here but did not figure it out.

推荐答案

visibilityOfElmementLocated 检查元素是否存在并且是否可见.为了检查可见性,它确保元素的高度和宽度大于 0.

The visibilityOfElmementLocated checks to see if the element is present and also visible. To check visibility it makes sure the element has a height and width greater than 0.

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

The presenceOfElementLocated just checks the dom to see if it can locate an element no matter its visibility.

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

可见性公共静态 ExpectedCondition visibilityOf(WebElement 元素)期望检查已知存在于页面 DOM 上的元素是否可见.可见性是指元素不仅显示出来,而且高度和宽度都大于0.参数:

visibilityOf public static ExpectedCondition visibilityOf(WebElement element) An expectation for checking that an element, known to be present on the DOM of a page, is visible. Visibility means that the element is not only displayed but also has a height and width that is greater than 0. Parameters:

相关文章