夜间值班。单击带有文本的元素

Nightwatch. Click on element with text

我有一个问题,无法单击具有某些独特文本的 Web 元素。 我有这个结构:

<div class="wg-wagon-type__item"  data-reactid="10"
  <div class="wg-wagon-type__title" data-reactid="11">Text</div>

我试试这个

.click('.wg-wagon-type__title:contains("Text")')

但是我有一个错误

ERROR: Unable to locate element: ".wg-wagon-type__item .wg-wagon-type__title:contain("Text")" using: css selector

如何更正点击该元素?

有什么理由不能简单地定位 class wg-wagon-type__title?

.click('.wg-wagon-type__title')

遗憾的是,没有匹配元素文本的 CSS 选择器。但是,nightwatch 可以通过 'api.execute' 在浏览器上 运行 javascript 并允许您进行字符串匹配。

或者,您可以使用 xpath 选择器并使用它来匹配文本

.click("//div[contains(@class, 'wg-wagon-type__title') and text()='Text']")