我试图检查某个元素是否可见但是我收到以下错误:
失败:找不到使用定位器找到的元素:按(css选择器,* [id ="按钮 - 复制"])
虽然这个元素不应该是可见的,但不是进入我的if语句,它只是退出该错误。
任何人都可以解释为什么会这样吗?
Total_Jobs Total_Value Fiver_Value Payment_Due
18 617 90 527
答案 0 :(得分:1)
isDisplayed()
也检查Presence是一种常见的误解。它没有
在检查元素是否显示之前,您必须先检查元素是否存在于DOM 上;您可以使用isPresent()
一旦确定了它的存在,请继续进行isDisplayed()
检查。
喜欢这个
element(by.id('button--copy')).isPresent().then(function (isPresent) {
if (isPresent) {
element(by.id('button--copy')).isDisplayed().then(function (isDisplayed) {
if (isDisplayed) {
//Visible
}
else {
//Not visible
}
});
}
else{
//Not visible
}
});
如果你想避免一些重复,你可以将它提取到一个方便的功能。
答案 1 :(得分:-1)
最简单的方法是:
var foo = element(by.id('foo')).isDisplayed();
if (isVisible)
{
//do stuff
}
else{
//do stuff
}