【问题标题】:Locating tag by its text using css使用css通过文本定位标签
【发布时间】:2010-10-26 06:52:18
【问题描述】:

您如何使用 CSS 获得以下标签?

<p>You can only use the text inside the tag</p>

在 xpath 中我会使用以下内容:

//p[contains(text(), "inside the tag")

PS:我无法关闭 xpath,它会尝试使用代码自动完成...:S

【问题讨论】:

  • 我不相信纯 CSS 可以做到这一点。

标签: css selenium css-selectors


【解决方案1】:

我相信 CSS3 选择器只能过滤 属性,而不是标签中的文本。因此,您可以执行a[href~="aspx"] 之类的操作来匹配指向 aspx 页面的链接,但这只是基于内容的匹配。

对于您想要做的事情,您可能必须使用 javascript 或服务器端处理。

查看quirksmodeW3 了解更多信息。

【讨论】:

  • 我几乎可以肯定 css 选择器存在。感谢您的建议,但我想使用 CSS 选择器作为 Selenium 定位器,所以只能使用纯 CSS...
【解决方案2】:

这就是我要找的东西!

p:contains("inside the tag")

【讨论】:

  • @mateusza:截至今天,他们都没有这样做。 :contains() 已从 CSS3 规范中删除,我们还没有看到它在 CSS4 草案中回归。不过,jQuery 和 Selenium do 实现了它。见this answer。由于 OP 说他正在使用 Selenium,这将起作用。它只是在样式表中不起作用。
猜你喜欢
  • 2018-01-16
  • 2018-03-08
  • 1970-01-01
  • 2018-09-04
  • 1970-01-01
  • 2021-04-11
  • 2015-11-02
  • 2012-02-03
  • 1970-01-01
相关资源
最近更新 更多