2016-01-26 18 views
7

Im cercando di ottenere un test e2e a lavorare sul prossimo esempio:goniometro: ottenere elemento che non ha una specifica classe

HTML:

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

goniometro:

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

Segnala il seguente errore:

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

Il selettore funziona anche con jQuery. So che non è lo stesso. Ma i cant sembrano trovare il modo di escludere una classe con goniometro

risposta

7

Utilizzare la not negazione pseudo-classe:

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

Oppure, nel tuo caso, è anche possibile abbinare l'esatto valore di attributo class:

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

Oppure, laddove prevista, è anche possibile ottenere il primo span per indice:

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

$ qui è una scorciatoia per element(by.css()), $$ - a element.all(by.css())

Problemi correlati