如果我定义页面对象myPage
:
return {
myButton: element(by.css('#my-button'))
};
然后在其他地方执行isElementPresent
检查:
return browser.driver
.isElementPresent(myPage.myButton);
我收到了以下错误:
Error: Failed: Invalid locator
为什么?
我怀疑如果删除element
调用,这会有效。 element返回elementFinder
IIUC。但isElementPresent
显然不适用于elementFinder
。为什么呢?
答案 0 :(得分:2)
.isElementPresent()
仅支持定位器或网络元素,您可以调用.getWebElement()
从元素查找器对象获取Web元素:
return browser.isElementPresent(myPage.myButton.getWebElement());
您还可以get the locator back from an element finder:
return browser.isElementPresent(myPage.myButton.locator());
或者,您可以改为使用isPresent()
方法:
return myPage.myButton.isPresent();
另见: