【问题标题】:What ExpectedConditions should i use in order to我应该使用什么 ExpectedConditions
【发布时间】:2016-05-20 15:23:29
【问题描述】:

所以有时当我想在 WebElement 上 click 时,我使用的是 elementToBeClickable。 现在当我想get text 等时,我有两个我通常使用的选项(也许更多???):

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

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

我的问题:

  1. 两者有什么不同?
  2. 当我想从元素/属性中获取文本时,也许我应该使用另一个 ExpectedCondition 吗?

【问题讨论】:

    标签: selenium


    【解决方案1】:

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

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

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


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

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

    【讨论】:

    • 所以这个沐浴者使用了 visibilityOfElementLocated ?
    • @davidhol 在答案中添加了更多信息。希望对您有所帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-09-22
    • 1970-01-01
    • 2017-07-12
    • 2017-05-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多