WebDriverIO select 使用元素索引
WebDriverIO select using elements index
我正在使用 WebDriverIO 在创建元素列表后尝试访问(即 getText、getAttribute、click 等)元素。如果我使用 browser.element()
方法,我很容易实现这个元素,但是当我使用 browser.elements()
时,我无法访问数组中的各个对象。根据 WebDriverIO docs,我应该可以使用 value
属性.
访问它们
这是我的伪代码。我假设这两个函数应该 return 相同的东西:
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() 方法后隔离单个元素对象?
我想您可能需要使用以下两种方式之一:
方式一:
var elmnts = browser.elements('.someCss');
var element = elmnts.value[0].ELEMENT;
browser.elementIdClick(element);
方式二:
var element = $$('.someCss')[0];
element.click();
谢谢,
纳文
您的索引参考放置在错误的位置。尝试:
var myElement = browser.elements('.someCss')[0];
myElement.click();
您不需要参考 value
属性,因为 WebdriverIO 足够聪明,可以为您推断。
我正在使用 WebDriverIO 在创建元素列表后尝试访问(即 getText、getAttribute、click 等)元素。如果我使用 browser.element()
方法,我很容易实现这个元素,但是当我使用 browser.elements()
时,我无法访问数组中的各个对象。根据 WebDriverIO docs,我应该可以使用 value
属性.
这是我的伪代码。我假设这两个函数应该 return 相同的东西:
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() 方法后隔离单个元素对象?
我想您可能需要使用以下两种方式之一:
方式一:
var elmnts = browser.elements('.someCss');
var element = elmnts.value[0].ELEMENT;
browser.elementIdClick(element);
方式二:
var element = $$('.someCss')[0];
element.click();
谢谢, 纳文
您的索引参考放置在错误的位置。尝试:
var myElement = browser.elements('.someCss')[0];
myElement.click();
您不需要参考 value
属性,因为 WebdriverIO 足够聪明,可以为您推断。