2016-12-27 59 views
2

我使用webdriver.io一些自动化单元测试,我可以用browser.elementswebdriver.io选择多个元素,并点击一个个

选择多个元素,但我需要可以点击每个选定的元素

我知道有一个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黑猩猩

回答

3

中的最新版本的webdriver同步的添加功能,以便返回的元素对他们webdriver.io原型 - 那就是你可以在数组中返回的元素上调用.click

0.45.x +黑猩猩的版本采用了最新的webdriver同步

+0

谢谢!我用的是0.45.0 – Danish

+0

这是个好消息。这将让生活变得更加轻松。 – RedMage

相关问题