WebDriver.io选择多个元素并单击一个



我正在使用webdriver.io进行某些自动化单元测试,我可以使用浏览器选择多个元素。elements

,但我需要能够单击每个选定的元素

我知道有一个browser.click()-但这只会单击第一个元素我一直在玩这个工作了3个小时 - 文档在WebDriver.io上有点混淆了使用browser.elements

如何触发每个选定元素的点击?

var selector = '.main-section * .tbody .td:nth-child(14) a';
// this gets an awway of element id's   
var selectedButtons = browser.elements(selector);
// log returned array
console.log(selectedButtons.value);
// this prints the elementId's
console.log(selectedButtons.value[1].element().value.ELEMENT);

输出:

 [ { ELEMENT: '0.23250146411810424-135',
    selector: '.main-section * .tbody .td:nth-child(14) a',
    value: { ELEMENT: '0.23250146411810424-135' },
    index: 0 },
  { ELEMENT: '0.23250146411810424-136',
    selector: '.main-section * .tbody .td:nth-child(14) a',
    value: { ELEMENT: '0.23250146411810424-136' },
    index: 1 },
  { ELEMENT: '0.23250146411810424-137',
    selector: '.main-section * .tbody .td:nth-child(14) a',
    value: { ELEMENT: '0.23250146411810424-137' },
    index: 2 },
  { ELEMENT: '0.23250146411810424-138',
    selector: '.main-section * .tbody .td:nth-child(14) a',
    value: { ELEMENT: '0.23250146411810424-138' },
    index: 3 } ]
0.23250146411810424-136

在黑猩猩中使用webdriver.io

最新版本的webdriver -sync添加了该功能,以便返回的元素在其上具有webdriver.io prototype-那就是您只需在数组中的返回元素上调用 .click

黑猩猩的0.45.x 版本使用最新的webdriver-sync

最新更新