使用功能getElementsByTagName获取具有动态ID的元素时遇到的问题-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

您是否知道如何解决此问题?

我已经尝试过:

getElementsByTagName('aria-label')
element.getElementsByTagName('aria-label')
document.getElementsByTagName('aria-label')
libravilla 回答:使用功能getElementsByTagName获取具有动态ID的元素时遇到的问题-NightwatchJS

在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)
      };
  });
本文链接:https://www.f2er.com/3158061.html

大家都在问