2015-08-14 14 views
8

Hey Ho questo codice in uno dei miei elementi div:goniometro: Finding Element by Div Testo

<div class="col-sm-8">Account Information: </div> 

Qualcuno può dirmi come vorrei fare per trovare questo elemento nel mio codice goniometro? È possibile fare qualcosa di simile:

expect (elemento (by.divText ('Informazioni account:')). IsDisplayed()). ToBe (true);

Ho più elementi con la classe "col-sm-8", quindi non sono in grado di trovare l'elemento per classe. Mi stavo chiedendo se c'è un modo per trovare l'elemento usando il testo nell'elemento div? Grazie per l'aiuto!

+0

Ciao, scusa se il mio post è un po 'vago! Ma sto solo provando un semplice script automatico sulla mia app angular js, e devo controllare se l'elemento div che ho specificato nella mia domanda sopra è visualizzato sullo schermo. Non sono sicuro di quanto potrò espandere ulteriormente su questa domanda haha, ma qui c'è un po 'più di informazioni se questo dovesse aiutare qualcuno! – CapturedTree

risposta

12

ti consiglierei di utilizzare by.cssContainingText

element(by.cssContainingText('.col-sm-8', 'Account Information')) 
+0

Hey Andres! Grazie mille! Funziona ora :) – CapturedTree

+0

Questa è di gran lunga la migliore risposta che ho trovato su SO, grazie – Maxime

+0

come distinguere tra gli articoli nel caso in cui uno era "Informazioni sull'account", un altro era "Informazioni" e un terzo era "Account"? – jgritten

5

Non esiste un metodo di webviver che consenta di localizzare un elemento tramite il suo testo. Si potrebbe provare a utilizzare XPath nel seguente modo (non testato):

element(by.xpath('//div[contains(text(), "Account Information: ")]') 
+0

Hey finspin, ho provato questo e ha funzionato pure! Ho completamente dimenticato che potrei usare xpath haha. Grazie per l'aiuto! – CapturedTree