夜观察。点击包含特定文本的元素。

5

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

<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

如何在此元素上正确点击?

1
您的问题标题拼写有误。此外,您的CSS选择器无效。:contains("Text") 是 jQuery 中的语法,而不是 CSS 2 或 CSS3。 - QualiT
1个回答

5

你为什么不能直接选择类名为 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']")

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接