我正在使用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