根据量角器的visibiityOf()API: 可见性意味着不仅要显示元素,还要使其高度和宽度大于0。
我有一个返回50行数据的搜索页面。第50行位于页面底部的视图之外,只有在您向下滚动几次时才能看到。当我从不向下滚动时,这条线怎么可能立即完成?
browser.wait(EC.visibilityOf(element(by.xpath("//*[@id='search-result']/table/tbody/tr[50]/td[1]")), 20000));
元素确实存在,只是它不在视野中。所以我不明白发生了什么。
答案 0 :(得分:2)
这实际上并不是关于protractor
,而是关于Selenium WebDriver
和javascript selenium webdriver绑定(WebDriverJS
正在包装的protractor
)。
以下是Selenium WebDriver规范,描述了WebDriver在确定可见性时所考虑的内容(这不是一件容易的事):
这是javascript selenium绑定"显示性"实现: