使用函数 getElementsByTagName 获取具有动态 ID 的元素的问题 - NightwatchJS
Issue with getting an element with dynamic ID with the function getElementsByTagName - NightwatchJS
我正在尝试使用 NoghtwatchJS
进行自动化测试。
我正在处理一个 UI,其中包含具有动态 ID 的元素。我必须点击一个特定的元素。我正在考虑在 mycase 中使用 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 is not defined
你知道我该如何解决这个问题吗?
我试过了:
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)
};
});
我正在尝试使用 NoghtwatchJS
进行自动化测试。
我正在处理一个 UI,其中包含具有动态 ID 的元素。我必须点击一个特定的元素。我正在考虑在 mycase 中使用 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 is not defined
你知道我该如何解决这个问题吗?
我试过了:
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)
};
});