【问题标题】:How do I identify Xpath when there are multiple elements with the same attributes and text?当有多个元素具有相同的属性和文本时,如何识别 Xpath?
【发布时间】:2016-05-05 14:01:16
【问题描述】:

我需要点击“客户一号”链接。目前我正在使用

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

使用 Firepath,这会返回四个单独的元素(我附上了包含其中两个的代码),我认为这就是 Selenium 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>

【问题讨论】:

    标签: html xml selenium xpath webdriver


    【解决方案1】:

    您可以使用last() 来获取内部 XPath 匹配的最后一个实例:

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

    【讨论】:

    • 根据 Xpath 检查器找到一个匹配项。谢谢!为了避免未来的头痛,如果它不是最后一个怎么办?有没有第三个()之类的东西?
    猜你喜欢
    • 2019-06-16
    • 1970-01-01
    • 2011-12-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-03
    相关资源
    最近更新 更多