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

Javascript 使用函数getElementsByTagName-NightwatchJS获取具有动态ID的元素时出现问题,javascript,automated-tests,nightwatch.js,getelementsbytagname,Javascript,Automated Tests,Nightwatch.js,Getelementsbytagname,我正在尝试使用NoghtwatchJS进行自动测试 我正在处理一个包含具有动态ID的元素的UI。我必须点击一个特定的元素。我正在考虑在mycase中使用GelementByTagname('aria-label')。这是我使用的代码: var labels,i labels = getElementsByTagName('aria-label'); for ( i = 0; i < labels.length; i++) { if (labels[i].htmlFo

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

我正在处理一个包含具有动态ID的元素的UI。我必须点击一个特定的元素。我正在考虑在mycase中使用
GelementByTagname('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)
        };
    };

在夜视中实现这一功能的唯一方法是使用comand

您的代码应该如下所示:

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)
      };
  });
browser.execute(函数(){
return document.getElementsByTagName('aria-label')。长度;
},函数(结果){
for(设i=0;i
你真的有
元素吗?或者另一个元素,比如
…以
aria标签
作为属性值?你能展示一个你试图找到的代表性HTML的片段吗?你好,大卫,谢谢你的回复。在下面找到我试图找到的代码片段n:NextHello David,我按照你的想法,发现我不需要getElementByTagName,为此,我用它的类名搜索元素,并试图从那里得到我想要的,直到现在我使用的代码是:labels=document.getElementsByClassName('slick-next slick arrow')console.log(labels.item(3).getAttribute('aria-label'))您好Lucas您的回答让我找到了正确的代码。事实上,我使用此函数能够在浏览器本身上执行方法。然而,getElementsByTagName不是我需要的函数,因为我遵循David的上述想法。我使用类名访问元素。我仍然在做这件事,因为我不太清楚如何使用它处理属性。非常感谢你的帮助。这让我更容易
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)
      };
  });