Javascript isElementPresent和elementFinders
如果我定义页面对象Javascript isElementPresent和elementFinders,javascript,protractor,Javascript,Protractor,如果我定义页面对象myPage: return { myButton: element(by.css('#my-button')) }; 然后在别处执行isElementPresent检查: return browser.driver .isElementPresent(myPage.myButton); 我得到以下错误: Error: Failed: Invalid locator 为什么? 我怀疑如果我删除元素调用,这会起作用。元素返回一个elementFinde
myPage
:
return {
myButton: element(by.css('#my-button'))
};
然后在别处执行isElementPresent
检查:
return browser.driver
.isElementPresent(myPage.myButton);
我得到以下错误:
Error: Failed: Invalid locator
为什么?
我怀疑如果我删除元素
调用,这会起作用。元素返回一个elementFinder
IIUC。但是,isElementPresent
显然不是为配合elementFinder
s而设计的。为什么?仅支持定位器或web元素,您可以调用从元素查找器对象获取web元素:
return browser.isElementPresent(myPage.myButton.getWebElement());
您还可以:
或者,您可以使用isPresent()
方法:
return myPage.myButton.isPresent();
另见:
return myPage.myButton.isPresent();