2016-06-09 37 views
5

Ho cercato di utilizzare il frammento di codice qui sotto per controllare se l'elemento che sto cercando esiste, comunque tutto ciò che ottengo è "Non riuscito: nessun elemento trovato usando il locatore: By (selettore css , .icon-cancel) ". Quello che voglio il programma di fare è quello di eseguire B()Verifica se esiste un elemento in Goniometro

element(by.css('.icon-cancel')).isDisplayed().then(function(result) { 
    if (result) { 
     a(); 
    } else { 
     b(); 
    } 
}); 

risposta

11

isDisplayed() fallirebbe se un elemento in realtà non esiste nell'albero DOM. È necessario il metodo isPresent() invece:

$('.icon-cancel').isPresent().then(function(result) { 
    if (result) { 
     a(); 
    } else { 
     b(); 
    } 
}); 
0

Una possibilità è, se l'elemento è stato caricato in modo dinamico, l'elemento può non essere stato caricato per il momento il test è in esecuzione. Quindi puoi aspettare qualche secondo affinché l'elemento sia disponibile.

var EC = protractor.ExpectedConditions; 
var yourElement = element(by.css('.icon-cancel')); 
browser.wait(EC.presenceOf(yourElement), 5000); 
Problemi correlati