无法使用守夜人中的元素迭代元素

Unable to iterate elements using elements in nightwatch

本文关键字:元素 迭代 守夜人      更新时间:2023-09-26

我正在尝试遍历元素,我已经尝试了许多空间中指出的一些事情。这是我的代码

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

当我调用这个函数时,nightwatch不识别元素函数

TypeError: Cannot read property 'elements' of undefinedat Object.pageAction.printTotalPriceInEachCard (/Users/shjain/NightsWatch/pageobjects/searchListPage.js:16:15)

我不确定这是否是调用元素的不正确的方式

看起来您已经在页面对象中构建了一个函数,该函数将客户机对象作为参数。现在我不知道你如何调用你的函数,但我假设你调用它没有客户端对象作为参数。现在'client'在函数中是未定义的,这就是错误告诉你的。

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

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

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