【问题标题】:protractor expected condition visibilityOf() returns true when element is not displayed量角器预期条件visibilityOf() 在元素未显示时返回true
【发布时间】:2015-03-24 22:56:10
【问题描述】:

根据量角器的 visibiityOf() API: 可见性是指元素不仅显示出来,而且高度和宽度都大于0。

我有一个搜索页面,它返回 50 行数据。第 50 行在页面底部看不见,只有滚动几次才能看到。当我从不向下滚动时,这行怎么可能立即完成?

browser.wait(EC.visibilityOf(element(by.xpath("//*[@id='search-result']/table/tbody/tr[50]/td[1]")), 20000));

该元素确实存在,只是它不在视图中。所以我不明白发生了什么。

【问题讨论】:

    标签: testing selenium selenium-webdriver protractor end-to-end


    【解决方案1】:

    这实际上不是关于protractor,而是更多关于Selenium WebDriver 和javascript selenium webdriver 绑定(WebDriverJS 这是protractor 的包装)。

    这是 Selenium WebDriver 规范,描述了 WebDriver 在确定可见性时所考虑的因素(这不是微不足道的):

    这里是 javascript selenium 绑定“displayedness”的实现:

    【讨论】:

    • 啊,我明白你的意思了。谢谢@alecxe。
    • @awaken 很高兴为您提供帮助,我认为如果您应用 webdriver 用来确定元素可见性的所有检查 - 您将获得 true。我想这里的问题是它是一个可滚动的表格。
    猜你喜欢
    • 1970-01-01
    • 2016-04-06
    • 1970-01-01
    • 1970-01-01
    • 2015-02-28
    • 1970-01-01
    • 2018-04-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多