2016-01-26 6 views
7

Im пытается получить испытание 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"]'); 
.. 

Дает следующую ошибку:

Failed: invalid element state: Failed to execute 'querySelectorAll' on 'Document': 'div[ng-if="selectedItem"] span[class!="yyy"]' is not a valid selector.

Селектор работает с jQuery, хотя .. Я знаю его не то же самое. Но я не могу показаться, чтобы найти, как исключить класс с транспортиром

ответ

7

Используйте not отрицания псевдо-класс:

$('div[ng-if=selectedItem] span:not(.yyy)'); 

Или, в вашем случае, вы можете также соответствовать полной стоимости class атрибута:

$('div[ng-if=selectedItem] span[class=xxx]'); 

Или, если это применимо, вы также можете получить первый span индексом:

$$('div[ng-if=selectedItem] span.xxx').first(); 

$ здесь ярлык element(by.css()), $$ - к element.all(by.css())