Protractor 量角器:获取没有特定类的元素

Protractor 量角器:获取没有特定类的元素,protractor,angularjs-e2e,Protractor,Angularjs E2e,我正在尝试进行e2e测试,以便对下一个示例进行测试: HTML: <div ng-if="selectedItem"> <span class-"xxx">This is line 1</span> <span class="xxx yyy">This is line 2</span> </div> .. element.findByCss('div[ng-if="selectedItem"] span[class

我正在尝试进行e2e测试,以便对下一个示例进行测试:

HTML:

<div ng-if="selectedItem">
  <span class-"xxx">This is line 1</span>
  <span class="xxx yyy">This is line 2</span>
</div>
..
element.findByCss('div[ng-if="selectedItem"] span[class!="yyy"]');
..
给出以下错误:

失败:元素状态无效:无法执行'querySelectorAll' 在“文档”上:“div[ng if=“selectedItem”]span[class!=“yyy”]”不是 有效选择器


但是选择器可以与jQuery一起工作。。我知道这不一样。但是我似乎找不到如何排除带有量角器的类

使用
否定伪类:

$('div[ng-if=selectedItem] span:not(.yyy)');
或者,在您的情况下,还可以匹配完整的
属性值:

$('div[ng-if=selectedItem] span[class=xxx]');
或者,如果适用,也可以通过索引获取第一个
span

$$('div[ng-if=selectedItem] span.xxx').first();
$
这里是到
元素(by.css())
的快捷方式,
$$
-到
元素.all(by.css())