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

And*_*ohl 5 javascript css-selectors nightwatch.js

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

在此处输入图片说明

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

.click('.discover-athletes div:nth-child(3) button')
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

如果有人知道最好的方法,我将不胜感激。到目前为止,我还很短。多谢

Bao*_*ran 1

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

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

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

编辑:只有 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);
                          });              
                  }
Run Code Online (Sandbox Code Playgroud)