webdriver.io选择多个元素并逐个单击

时间:2016-12-27 09:37:22

标签: selenium-webdriver chimp.js

我使用webdriver.io进行一些自动单元测试,我可以使用browser.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

1 个答案:

答案 0 :(得分:3)

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

版本0.45.x +的chimp使用最新的webdriver-sync