Browser.execute 正在为所有返回未定义

Browser.execute is returning Undefined for all

我在 Nightwatch 中使用自定义 javascript 从网页中获取一些值。

browser.execute(function () {
    priceValues = {
        total: document.querySelectorAll('someLocator').innerText,
        individualPrice: document.querySelectorAll('someLocator').innerText,
        discount: document.querySelectorAll('someLocator').innerText,
    };
    return priceValues;
}, [], function (result) {
    totalPrice = result.value.total;
    individual = result.value.individualPrice;
    discountPrice = result.value.discount;
});

我面临的问题是,对于某些测试,我没有 discount 所以我在那里变得不确定,但由于这个原因,另外两个 totalindividualprice 的值也变得不确定。如果有人能指出我哪里做错了就太好了。

我可以用下面的代码块做到这一点:

browser.execute(function () {
    priceValues = {
        total: document.querySelectorAll('someLocator').innerText,
        individualPrice: document.querySelectorAll('someLocator').innerText,
    };
    var discount = document.querySelectorAll('someLocator'),

    if (discount && discount.innerText) {
        priceValues.discount = discount.innerText;
    }
    return priceValues;
}, [], function (result) {
    totalPrice = result.value.total;
    individual = result.value.individualPrice;
    discountPrice = result.value.discount;
});