我使用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
答案 0 :(得分:3)
最新版本的webdriver-sync添加了该功能,以便返回的元素具有webdriver.io原型 - 也就是说,您只需在数组中返回的元素上调用.click
。
版本0.45.x +的chimp使用最新的webdriver-sync