使用函数 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)
      };
  });