2016-04-22 8 views
1

Ich versuche ein Element mit dem Winkelmesser zu finden. Es gibt viele Dropdowns auf einer Seite und ich muss die richtige finden. Der einzige Weg, den ich sehen kann, ist, das Großelternteil des Gegenstandes zu finden und sich dann ein anderes Enkelkind anzusehen, das das Etikett enthält.Winkelmesser Mit Xpath finde ich das Enkelkind des Großelterns.

Das funktioniert aber gibt viele Elemente:

element(by.xpath("//span[@class='k-widget k-dropdown k-header ng-isolate-scope'] 

ich dann versuche, auf die zusätzlichen Teile zu heften, die Großeltern und dann ein Kind „einen“ Tag und dann ein Kind „span“ zu finden, die die enthält Text muss ich gegen übereinstimmen.

So ist dies nicht funktioniert:

element(by.xpath("//span[@class='k-widget k-dropdown k-header ng-isolate-scope']//..//a/span[.='Country']")); 

Jeder weiß, was falsch ist?

Antwort

1

Um das Großelternteil des Kontextknotens zu finden, könnten Sie ../.. verwenden. Um einen untergeordneten Knoten zu finden, können Sie nur die untergeordnete Achse verwenden. Also, in Ihrer Frage, ob das a Element ein Kind der Großeltern von span ist, sollte die XPath so etwas wie:

//span[@class='k-widget k-dropdown k-header ng-isolate-scope']/../../a

Und zu seinem Kind span mit Wert finden Country:
//span[@class='k-widget k-dropdown k-header ng-isolate-scope']/../../a/span[.='Country']

Verwandte Themen