我正在尝试使用 NoghtwatchJS
进行自动化测试。
我正在处理一个包含具有动态 ID 的元素的 UI。我必须点击一个特定的元素。我正在考虑在 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)
};
});
关于javascript - 使用函数 getElementsByTagName 获取具有动态 ID 的元素的问题 - NightwatchJS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58715364/