我正在尝试迭代元素,我尝试了很多空间中指出的几个东西。这是我的代码
printTotalPriceInEachCard: function(client) {
client.elements('css selector','.price-container',function(result){
result.value.forEach(function(element){
console.log(element);
})
});
}
当我调用此功能时,nightwatch不识别元素功能
TypeError:无法读取属性'元素'未定义的 at Object.pageAction.printTotalPriceInEachCard(/Users/shjain/NightsWatch/pageobjects/searchListPage.js:16:15)
我不确定这是否是调用元素的错误方式。
答案 0 :(得分:3)
看起来您已在具有客户端对象作为参数的页面对象中构建函数。现在我不知道你如何调用你的函数,但我假设你在没有客户端对象作为参数的情况下调用它。现在'client'在函数内部未定义,这就是错误告诉你的内容。
但是你不需要在页面对象中给客户端对象一个函数。它已经有了它!您可以使用this.api
访问它。
所以你可以像这样构建你的函数:
printTotalPriceInEachCard: function() {
this.api.elements('css selector','.price-container',function(result){
result.value.forEach(function(element){
console.log(element);
})
});
}