如果我的问题听起来很重要,我会事先道歉,我在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。
参数: