2016-05-05 3 views
1

"Customer One"というリンクをクリックする必要があります。現在、私はFirepathを使用し同じ属性とテキストを持つ複数の要素がある場合、Xpathをどのように識別できますか?

//div[contains(@class,'client-info') and contains(div/text(),'Customer')] 

を使用しています、これは(私はそれらのうちの2つを含むコードを添付しています)4つの別々の要素を返し、セレンwebdriverを私がクリックしたい要素を見つけることができませんなぜ私はそれがあると思います。

私はこのxpathの最後のインスタンスをクリックする必要がありますが、それらは同じクラスと内部のテキストを持っているので、より具体的であるとは思われません!

<div class="wg-client-row-mobile hidden-sm hidden-md hidden-lg"> 
<div class="row"> 
<div class="col-xs-11"> 
<span class="icon icon-user" ng-class="{'icon-user': !wgClientItemCtrl.client.isAnOrganization, 'icon-business': wgClientItemCtrl.client.isAnOrganization}"/> 
<div class="client-info"> 
<div class="client-name not-long-text ng-binding">Customer One</div> 
<!-- <div class="client-age not-long-text" ng-if="!wgClientItemCtrl.client.isAnOrganization">{{wgClientItemCtrl.client.gender}}, {{wgClientItemCtrl.client.calculatedAge | notAvailable}}</div> --> 
<!-- ngIf: !wgClientItemCtrl.client.isAnOrganization --> 
<div class="client-age not-long-text ng-binding ng-scope" ng-if="!wgClientItemCtrl.client.isAnOrganization"> 
<!-- end ngIf: !wgClientItemCtrl.client.isAnOrganization --> 
<!-- ngIf: wgClientItemCtrl.client.isAnOrganization --> 
<div class="client-age not-long-text ng-binding"> 
</div> 
</div> 
<div class="favorite-right-container"> 
</div> 
</div> 
<div class="wg-client-row-desktop hidden-xs hidden-is"> 
<div class="row content"> 
<div class="col-sm-4"> 
<div class="icon icon-user" ng-class="{'icon-user': !wgClientItemCtrl.client.isAnOrganization, 'icon-business': wgClientItemCtrl.client.isAnOrganization}"/> 
<div class="client-info"> 
<div class="client-name not-long-text ng-binding">Customer One</div> 
</div> 

答えて

6

あなたは、内側のXPathにマッチした最後のインスタンスを取得するためにlast()を使用することができます。XPathのチェッカーに応じた

(//div[contains(@class,'client-info') and contains(div/text(),'Customer')])[last()] 
+0

1試合。ありがとう!将来の頭痛を避けるために、もしそれが最後でないなら、どうしたらよいでしょうか?三番目のようなものがありますか? – dsidler

+3

@dsidler: '[3]' – kjhughes

関連する問題