验证 css 选择器中的标题文本

verify heading text in css selector

这是我的 xpath "//div[@class='city']/h4[text()='Newyork']"

xpaths 我可以在 Geb 中使用,但我想在 CSS 或更好的 Groovy-ish 中编写类似的表达式,Gebish 定位器。

我试过了

.city>h4:'Newyork'

.city>h4:contains('Newyork')

但 none 有效。

我提到了https://sqa.stackexchange.com/questions/362/a-way-to-match-on-text-using-css-locators

Geb 能够通过将元素属性映射与该选择器一起传递给其方法,进一步过滤使用 CSS 选择器匹配的元素。它还引入了a special attribute for matching text of a node。您的选择器将如下所示:

$('div.city > h4', text: 'Newyork')

请注意,这是通过为每个匹配的元素获取文本并根据提供的值检查它来工作的,也就是说它在 JVM 端而不是在浏览器中工作,这意味着你想要你的 css 选择器要尽可能具体并匹配尽可能少的元素,否则选择器会很慢。