2017-11-27 4 views
0

Ich habe eine Situation in meiner Netzanwendung, in der einige aufgelisteten Einzelteile gemeinsamen Klassennamen teilen, der von unseren automatisierten Testsuiten benutzt wird. Jetzt muss ich auf ein bestimmtes Element klicken und muss es nach der Klasse und dem Text dieses Elements suchen. HierWinkelmesser - Lokalisieren Sie Element durch Klassenname und Text

ein Beispiel:

<ul> 
    <li class="autotest-list">Milk</li> 
    <li class="autotest-list">Sugar</li> 
    <li class="autotest-list">Candy</li> 
</ul> 

ich einen Weg brauchen, wie auf ie.Sugar klicken. Etwas wie folgt aus:

element(by.className('autotest-list').text('Sugar'); 

oder diese

element(by.className('autotest-list')&&text('Sugar'); 

Ihnen allen im Voraus danken!

+0

Duplikat https://stackoverflow.com/questions/32016080/protractor-finding-element-by-div-text – Gunderson

Antwort

0

Wenn Sie nichts dagegen haben, könnten Sie by.xpath verwenden:

element(by.xpath('li[@class="auto test-list" and text()="Sugar"]')) 
+2

nicht notwendig, Xpath zu verwenden, hat Winkelmesser eine Methode 'cssContainingText' zum Finden von Elementen durch ihren Text – Gunderson

+0

cssContainingText funktioniert gut, aber es hat auch eine Einschränkung, wegen" Containing "Teil. In diesem Beispiel:

  • Zucker-Stick
  • Milch
  • Zucker
es wird das 1. Element finden, das das Wort Zucker enthält, welches hier "Sugar Stick" ist und das war keine Absicht. Danke trotzdem Herr @ Gunderson – Alen

+0

@Alen, so dass Sie xpath jetzt verwenden? – eLRuLL

1
element(by.cssContainingText('.autotest-list','Sugar') 
Verwandte Themen