【问题标题】:What to use instead of CONTAINS() in CSS3在 CSS3 中使用什么来代替 CONTAINS()
【发布时间】:2011-10-02 15:47:02
【问题描述】:

关于自动化的问题。我使用 Selenium RC。

我将我的 FF 升级到 3.6.18,它似乎找不到任何包含“contains()”的定位器

我已经阅读了很多论坛。这是一个已知问题,但我没有找到任何解决方案。

那么现在用什么来代替 contains()?

【问题讨论】:

  • :contains() 从未进入规范,请参阅 stackoverflow.com/questions/4781141/…
  • 你可以选择 XPath,它有一个contains() 函数。
  • @BoltClock:虽然:contains() 确实从未进入 CSS3 规范,但根据最新发布的Selenium docs,“目前 css 选择器定位器支持 all css1、css2 和 css3 选择器,除了... [例外是不相关的;由于空间原因,此处省略]"。所以 在 Selenium 中 它应该可以工作。
  • @Paul Sweatte:这与 CSS4 无关...
  • @msorens:对不起,我迟到了一年多,但你是对的; Selenium RC 确实实现了:contains(),根据它在被删除之前的定义。

标签: css selenium css-selectors selenium-rc


【解决方案1】:

你可以使用 jQuery :contains(text)

<script src="https://code.jquery.com/jquery-1.10.2.js"></script>

<script>
    $( "div:contains('foo')" ).css( "text-decoration", "underline" );
</script>

【讨论】:

    【解决方案2】:

    CSS 中与 contains() 类似的唯一功能是:

    element[attribute*="substring"]
    

    当您需要检查属性中包含的某些子字符串时,这很有帮助。

    【讨论】:

      猜你喜欢
      • 2020-05-15
      • 2011-10-12
      • 1970-01-01
      • 2018-11-24
      • 2023-03-30
      • 2011-09-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多