无法使用nightwatch中的元素迭代元素

时间:2015-08-02 02:15:30

标签: javascript nightwatch.js

我正在尝试迭代元素,我尝试了很多空间中指出的几个东西。这是我的代码

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)

我不确定这是否是调用元素的错误方式。

1 个答案:

答案 0 :(得分:3)

看起来您已在具有客户端对象作为参数的页面对象中构建函数。现在我不知道你如何调用你的函数,但我假设你在没有客户端对象作为参数的情况下调用它。现在'client'在函数内部未定义,这就是错误告诉你的内容。

但是你不需要在页面对象中给客户端对象一个函数。它已经有了它!您可以使用this.api访问它。

所以你可以像这样构建你的函数:

printTotalPriceInEachCard: function() {
   this.api.elements('css selector','.price-container',function(result){
        result.value.forEach(function(element){
            console.log(element);
        })
    });
}