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

Dev*_*nik 5 javascript css nightwatch.js

我有一个问题,无法点击具有某些唯一文本的网络元素。我有这个结构:

<div class="wg-wagon-type__item"  data-reactid="10"
  <div class="wg-wagon-type__title" data-reactid="11">Text</div>
Run Code Online (Sandbox Code Playgroud)

我尝试这个

.click('.wg-wagon-type__title:contains("Text")')
Run Code Online (Sandbox Code Playgroud)

但是我有一个错误

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

如何正确点击此元素?

der*_*erp 5

有什么理由不能简单地针对课程 wg-wagon-type__title?

.click('.wg-wagon-type__title')
Run Code Online (Sandbox Code Playgroud)

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

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

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