2016-01-26 11 views
7

Im próbuje test e2e do pracy na następny przykład:Kątomierz: uzyskać element, który nie ma określonej klasy

HTML:

<div ng-if="selectedItem"> 
    <span class-"xxx">This is line 1</span> 
    <span class="xxx yyy">This is line 2</span> 
</div> 

Kątomierz:

.. 
element.findByCss('div[ng-if="selectedItem"] span[class!="yyy"]'); 
.. 

Daje następujący błąd:

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

Selektor działa z jQuery chociaż ... Wiem, że nie jest taki sam. Ale nie mogę wydawać się znaleźć sposób, aby wykluczyć klasę z kątomierz

Odpowiedz

7

użyć not Pseudo-klasa negacji:

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

Lub, w danym przypadku, można również dopasować pełną wartość atrybutu class:

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

Lub, jeśli ma to zastosowanie, można również zdobyć pierwszy span przez index:

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

$ tutaj jest skrót do element(by.css()), $$ - do element.all(by.css())

Powiązane problemy