我应该使用什么预期条件才能

时间:2016-05-20 15:23:29

标签: selenium

因此,当我想在WebElement上使用click时,我正在使用elementToBeClickable。 现在,当我想要get text等时,我有2个选项(可能更多???),我通常使用:

  1. presenceOfElementLocated - 期望检查页面的DOM上是否存在元素。

  2. visibilityOfElementLocated - 期望检查页面的DOM上是否存在元素且可见。

  3. 我的问题:

    1. 两者之间有什么不同?
    2. 当我想从element / attribute获取文本时,我应该使用另一个ExpectedCondition吗?

1 个答案:

答案 0 :(得分:1)

presenceOfElementLocated只会等待DOM树中存在元素。

visibilityOfElementLocated不仅会确保元素存在,还会检查元素是否显示。可见性确定背后的逻辑如下所述:

使用哪种预期条件并不像elementToBeClickable那样简单,需要单击一个按钮 - 在这种情况下取​​决于实际用例 - 如何加载所需元素,是否加载了文本或文本稍后动态设置等。

还有textToBePresentInElement可能更合适,但它要求您知道元素文本的一部分。

并且,总是可以选择编写自定义预期条件 - 例如,您可以wait for any text to be present in element