【问题标题】:CSS containing exact text包含精确文本的 CSS
【发布时间】:2016-11-02 13:58:20
【问题描述】:

有人可以建议是否有任何方法可以在使用 cssContainingText 时搜索具有精确文本的元素。我正在使用下面的代码,但在下拉列表中有多个值,如下所示。

Value 1
Value 1 Test 1
Value 1 Protractor 1

下面是我正在使用的代码。

element(by.cssContainingText('option', Value1)).click();

【问题讨论】:

    标签: selenium protractor


    【解决方案1】:

    如果您使用与第二个参数完全匹配的正则表达式,您也可以使用 cssContainingText 解决此问题,例如:

    element(by.cssContainingText('option', /^Value 1$/))
    

    在此处查看相关的 SO 帖子:Match whole string

    【讨论】:

      【解决方案2】:

      by.cssContainingText() 根据定义是一个部分匹配 定位符。如果你想得到一个完全匹配,你可以用 XPath 表达式来解决它:

      element(by.xpath('//option[. = "Value 1"]')).click();
      

      而且,由于您正在处理 selectoptions,请查看此包装器是否适合:

      【讨论】:

      • 谢谢。 Xpath 目前运行良好,所以我会继续这样做,但也会在某个时候尝试抽象。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-17
      • 1970-01-01
      • 2014-05-16
      • 1970-01-01
      • 2021-05-22
      相关资源
      最近更新 更多