Какова точная разница между " ExpectedConditions.visibilityOfElementLocated " и " ExpectedConditions.presenceOfElementLocated"

мои извинения заранее, если мой вопрос звучит первично, я очень новичок в 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();

на здесь но не понял этого.

1 ответов


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) Ожидание проверки того, что элемент, известный как присутствующий на DOM страницы, виден. видимость означает, что элемент не только отображается, но также имеет высоту и ширину, которые больше 0. Параметры: