【发布时间】:2023-03-26 19:17:02
【问题描述】:
所以我为此使用了 nightwatch 并且似乎无法将元素推送到回调内的数组。它显示“未定义”。
var tab = [];
exports.command = function (control,tabs)
{
var self=this;
var split = tabs.split("~"); //DELIMIT "tabs" PARAMETER
self.elements('css selector', control+" :first-child", function (result) //COUNT THE CHILD OF PARENT
{
var x = result.value;
var screenTabLen = x.length; //GET THE LENGTH OF ACTUAL TABS IN THE SCREEN
var tabLen = split.length; //GET THE LENGTH OF DELIMITED "tabs"
function getTabText(index)
{
self.getText(control + " > :nth-child(" + index + ")", function(result){
tab.push(result.value);
});
}
for (i=1; i<screenTabLen; i++)
{
getTabText(i);
}
console.log("TAB >> " + tab[1]);
});
};
我该如何解决这个问题?提前致谢! 编辑:粘贴整个代码
【问题讨论】:
-
什么是标签?你只初始化一个bat数组
-
这是一个错字。当你应该推送到
bat时,你正在推送到tab。 -
您可以通过使用 linter 来防止将来出现此类错误,例如 ESLint。
-
你还是有错别字.. 在 console.log() 中它仍然是 bat
标签: javascript asynchronous nightwatch.js