javascript - 尝试使用 Nightwatch.js 单击具有相同类的第二个元素

标签 javascript css-selectors nightwatch.js

我一直在尝试使用 Nightwatch.js(第 nth-child、nth-of-type 等)点击浏览器上的特定元素的多种不同方法,但到目前为止我无法找到正确的元素。我试图点击屏幕上的第二个“更多”按钮。

enter image description here

HTML 看起来像这样。两个“更多”按钮都具有完全相同的类,并且嵌套在类中具有关键区别的 div 中,其中一个称为 discover-teams,第二个嵌套在类为 discover 的 div 中-运动员。如果我尝试这样的事情,我最终会点击图像上的以下按钮之一

.click('.discover-athletes div:nth-child(3) button')

enter image description here

如果有人知道最好的方法,我将不胜感激。到目前为止,我做空了。非常感谢

最佳答案

我看到该页面有两个“.discover-athletes”,所以第二个按钮的选择器应该是:

'test' : function(browser){
       const 2ndSelector = 'div[class="discover-athletes"]:nth-child(2) > div:nth-child(3) > button';
       browser.click(2ndSelector);
          }

您需要符号“>”来使选择器更准确。

编辑:只有 1 个“.discover-athletes”,但没有区别。

        'test' : function(browser){
           const 2ndSelector = 'div[class="discover-athletes"] > div:nth-child(3) > button';
           browser.waitForElementVisible(2ndSelector,5000,false,function(result){
                 browser.click(2ndSelector);
                          });              
                  }

关于javascript - 尝试使用 Nightwatch.js 单击具有相同类的第二个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36581319/

相关文章:

css - 为什么:nth-child(2) selector work on what I expect to be :first-child?

javascript - 无法读取试图进行任何操作的源文件夹

javascript - 来自 Nightwatch 的 Mocha 断言.containsText 失败

javascript - 在页面之间传递 javascript 变量

javascript - 使用Java在表单Load上加载select html中的查询结果

javascript - 缩短 Charts.js 中的数字标签

javascript - 如何通过 createTextNode() 使用列表的第一个子元素

css - 第 nth-child 在瞄准一个时隐藏了我所有的元素

javascript - 表单验证和清除

javascript - Cucumber-js未定义步骤引用使用IntelliJ IDEA-终极版