2015-08-14 6 views
8

Hey Ich habe diesen Code in einem meiner div Elemente:Protractor: Finding Element von Div Text

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

Kann mir jemand sagen, wie ich über die Suche dieses Element in meinem Winkelmesser Code gehen würde? Ist es möglich, so etwas zu tun:

expect (Element (by.divText ('Kontoinformationen:')). IsDisplayed()). ToBe (true);

Ich habe mehrere Elemente mit der Klasse "col-sm-8", so dass ich das Element nicht nach Klasse finden kann. Ich habe mich nur gefragt, ob es möglich ist, das Element mit dem Text im div-Element zu finden? Danke für die Hilfe!

+0

Hallo zu verwenden, sorry, wenn mein Beitrag ein wenig vage ist! Aber ich versuche gerade ein einfaches automatisiertes Skript in meiner eckigen js-App, und ich muss überprüfen, ob das div-Element, das ich in meiner Frage oben angegeben habe, auf dem Bildschirm angezeigt wird. Ich bin mir nicht sicher, wie viel mehr ich in dieser Frage ausdrücken kann, haha, aber hier ist ein wenig mehr Informationen, wenn das jemandem hilft! – CapturedTree

Antwort

12

Ich würde Ihnen empfehlen by.cssContainingText

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

Hey Andres! Ich danke dir sehr! Es funktioniert jetzt :) – CapturedTree

+0

Dies ist bei weitem die beste Antwort, die ich auf SO fand, danke – Maxime

+0

Wie würden Sie zwischen den Elementen unterscheiden, wenn man "Kontoinformationen", ein anderes "Information" und ein drittes "Konto" war? – jgritten

5

Es gibt keine Webdriver-Methode, die es ermöglicht, ein Element anhand seines Textes zu lokalisieren. Sie könnten versuchen, XPath in der folgenden Art und Weise (nicht getestet):

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

Hey Finspin, ich habe es ausprobiert und es hat auch funktioniert! Ich habe komplett vergessen, dass ich xpath haha ​​verwenden könnte. Danke für die Hilfe! – CapturedTree