使用函数getElementsByTagName-NightwatchJS获取具有动态ID的元素时出现问题



我正在尝试使用NoghtwatchJS进行自动测试。

我正在处理一个UI,它包含具有动态ID的元素。我必须点击一个特定的元素。我正在考虑在我的情况下使用gelElementByTagName('aria-label')。这是我使用的代码:

var labels,i
labels = getElementsByTagName('aria-label');
for ( i = 0; i < labels.length; i++) {
if (labels[i].htmlFor == 'Next') {
var elem = getElementById(labels[i].htmlFor)
};
};

我有未定义的问题元素:

ReferenceError:getElementsByTagName未定义

你知道我该如何解决这个问题吗?

我试过:

getElementsByTagName('aria-label')
element.getElementsByTagName('aria-label')
document.getElementsByTagName('aria-label')

在Nightwatch中实现这一功能的唯一方法是使用execute命令和

你的代码应该看起来像这样:

browser.execute(function() {
return document.getElementsByTagName('aria-label').length;
}, function(result) {
for (let i = 0; i < result.value; i++) {
if (labels[i].htmlFor == 'Next') {
let elem = getElementById(labels[i].htmlFor)
};
});

最新更新