WebDriverIO使用元素索引选择

时间:2018-07-10 00:14:21

标签: javascript ui-automation elements webdriver-io

我正在使用WebDriverIO在创建元素列表之后尝试访问(即getText,getAttribute,click等)元素。如果我使用browser.element()方法,我很容易实现该元​​素,但是当我使用browser.elements()时,我无法访问数组中的各个对象。根据{{​​3}},我应该能够使用value属性访问它们。

这是我的伪代码。我假设这两个函数应该返回相同的东西:

usingElement() {
  return browser.element('.someCss');
}

usingElements() {
  return browser.elements('.someCss').value[0];
}

当我尝试使用第一段代码时,它工作得很好..但是 当我尝试使用第二个块时,它给我一个错误,提示usingElements.click is not a functionusingElements.getText is not a function,等等。

使用browser.elements()方法后如何隔离单个元素对象?

2 个答案:

答案 0 :(得分:0)

我想您可能需要使用以下两种方式之一:

方法1:

Future<Object>

方法2:

var elmnts = browser.elements('.someCss');
var element = elmnts.value[0].ELEMENT;
browser.elementIdClick(element);

谢谢, Naveen

答案 1 :(得分:0)

您的索引参考放置在错误的位置。试试:

var myElement = browser.elements('.someCss')[0];
myElement.click();

您不需要引用value属性,因为WebdriverIO足够聪明,可以为您推断出来。