【问题标题】:WebDriverIO select using elements indexWebDriverIO 使用元素索引选择
【发布时间】:2018-07-10 00:14:20
【问题描述】:

我正在使用 WebDriverIO 在创建元素列表后尝试访问(即 getText、getAttribute、click 等)元素。如果我使用browser.element() 方法,我很容易实现这个元素,但是当我使用browser.elements() 时,我无法访问数组中的各个对象。根据WebDriverIO docs,我应该可以使用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() 方法后如何隔离单个元素对象?

【问题讨论】:

    标签: javascript ui-automation elements webdriver-io


    【解决方案1】:

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

    方式一:

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

    方式二:

    var element = $$('.someCss')[0];
    element.click();
    

    谢谢, 纳文

    【讨论】:

      【解决方案2】:

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

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

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

      【讨论】:

        猜你喜欢
        • 2018-03-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-25
        • 1970-01-01
        • 2013-10-08
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多