有人可以建议在使用cssContainingText时是否有任何方法可以搜索具有确切文本的元素。我使用下面的代码但在下拉列表中有多个值,如下所示。
Value 1
Value 1 Test 1
Value 1 Protractor 1
以下是我正在使用的代码。
element(by.cssContainingText('option', Value1)).click();
答案 0 :(得分:4)
根据定义,by.cssContainingText()
是部分匹配定位器。如果您想要完全匹配,可以使用XPath表达式解决它:
element(by.xpath('//option[. = "Value 1"]')).click();
而且,既然你正在处理select
和option
s,那么看看这个包装器是否合适:
答案 1 :(得分:3)
如果您使用与第二个参数完全匹配的正则表达式,也可以使用cssContainingText
解决此问题,例如:
element(by.cssContainingText('option', /^Value 1$/))
在此处查看相关的帖子:Match whole string