首页 > 解决方案 > Nightwatch 使用独特的 css 选择器查找多个元素

问题描述

我正在用 Nightwatch 编写一些 e2e 测试,但我在使用 css 选择器时遇到了一些问题。我需要单击用户菜单的最后一个元素。菜单是框架生成的,所以我不能真正id为最后一个元素分配一个,所以我决定继续使用以下代码:

browser.waitForElmentVisibleAndClick = function(element) {
  this.waitForElementVisible(element, DEFAULT_WAITING_TIME);
  this.click(element);

  return this;
};

.waitForElmentVisibleAndClick('.user-menu-items:last-child')

问题是没有单击该元素。在测试警告中,我看到以下内容:

警告:WaitForElement 为选择器“.user-menu-items:last-child”找到 2 个元素。只会检查第一个。

它如何使用选择器找到两个元素:last-child?我究竟做错了什么?

标签: css-selectorsnightwatch.js

解决方案


听起来.user-menu-items页面上有多个。如果这是真的,你可以通过包括它的父母来更具体。

.waitForElmentVisibleAndClick('.parent .user-menu-items:last-child')


推荐阅读