【问题标题】:Wdio - Get length of items listWdio - 获取项目列表的长度
【发布时间】:2021-07-25 03:04:42
【问题描述】:

我在从 ul 正确打印项目 (li) 的长度时遇到问题。 首先,我保存了一个带有 li 项目的选择器。接下来我调用长度方法。 但是当我运行我的测试时,我得到未定义为 li 的长度。

我的代码:

get numberOfBooks() {
        return $$("fieldset > div.suggest-list > ol.item-list > li")
    }
 async TitleBookIsVisible() {
        await expect(this.numberOfBooks).toBeVisible();
        console.log(this.numberOfBooks.length)
    }

返回:未定义

//选择器正确

【问题讨论】:

  • 您能提供您正在处理的页面的链接吗?
  • 是的。 helion.pl 。在输入部分值后,我尝试在搜索弹出窗口中获取 li 的长度。
  • 首先我没有看到匹配fieldset > div.suggest-list > ol.item-list > li的元素
  • 列表项只有在搜索引擎中输入短语imgur.com/a/Eza4pM8后才会出现
  • 你试过我的定位器了吗?有帮助吗?

标签: javascript selenium automation webdriver-io


【解决方案1】:

我无法使用您的定位器,但是使用以下 xpath //li[@class='slick-slide slick-active'] 或者如果您需要 css 试试这个 li.slick-slide.slick-active 看起来会更好

【讨论】:

    【解决方案2】:

    我的假设是您使用 webdriverio 异步。 如果是这种情况,那么您应该首先等待列表,然后查询它的长度。 (await this.numberOfBooks).length;

    或者您可以将其提取到一个变量中,然后检查。

    const list = await this.numberOfBooks;
    console.log(list.length); //should be defined here
    

    【讨论】:

      猜你喜欢
      • 2016-09-27
      • 2022-11-14
      • 1970-01-01
      • 2015-05-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-12
      • 2012-08-14
      相关资源
      最近更新 更多