我正在使用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 function
或usingElements.getText is not a function
,等等。
使用browser.elements()方法后如何隔离单个元素对象?
答案 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足够聪明,可以为您推断出来。