我一直在尝试使用Nightwatch.js(nth-child,nth-of-type等)点击浏览器上的特定元素的许多不同方法,到目前为止我无法找到正确的元素。我想点击屏幕上的第二个“更多”按钮。
HTML看起来像这样。两个“更多”按钮具有完全相同的类,并且嵌套在类中具有键差异的div中,其中一个称为发现团队,第二个嵌套在具有发现类的div中-athletes。如果我尝试这样的话,我最终会点击图片上的其中一个按钮
.click('.discover-athletes div:nth-child(3) button')
如果有人知道最好的方法,我会非常感激。到目前为止,我的时间很短。很有责任
答案 0 :(得分:0)
我看到该页面有两个" .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);
});
}
答案 1 :(得分:0)
尝试其中任何一个。
var string = '{user: Jack}{user: Dave}{user: John}{user: Hou}';
OR
['{user: Jack}','{user: Dave}','{user: John}','{user: Hou}'] ?
OR
browser.click('.discover-athletes.discover-card div:nth-child(3) button');
答案 2 :(得分:0)
我最终找到了一个有效的解决方案。
$(document).on('dragover', function(e){
event.preventDefault();
});
只需要继续挖掘(这是我第一次尝试使用测试框架在html中搜索元素)。但我很感谢你们提交的答案。干杯