如果我的问题听起来很重要,我会事先道歉,我在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,但没有弄清楚。

最佳答案

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

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

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

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

10-08 18:07