在我正在使用的UI中,对于一个对象,有一个铅笔或一个篮子图标;我想单击一个铅笔(这将触发一个编辑模式),并想对特定对象进行操作。
现在我使用以下命令行:
Click Element xpath = (//a[@ng-click="openCreateEditModal (holding)"])[2]
我想用与“ RF-Account”值相对应的行的值替换“ 2”。
以下是HTML的示例:
<tbody ng-if="!isEmpty" class="body-table ng-scope" style="height: 165px;">
<!-- ngRepeat: tenant in tenants track by $index --><tr ng-repeat="tenant in tenants track by $index" class="ng-scope" style="">
<td class="ng-binding">RF-Accou</td>
<td>
<span class="text-bold ng-binding text-muted" ng-class="{'text-green' : tenant.status == 'ACTIVE', 'text-muted' : tenant.status == 'INACTIVE'}">INACTIVE</span>
</td>
<td style="width:118px">
<div class="pull-right">
<a name="editBtn" type="submit" class="btn-icon" ng-click="openCreateEditModal(tenant)">
<span class="icon-i-edit fs" data-toggle="tooltip" title=""></span>
</a>
<a name="deleteBtn" type="submit" class="btn-icon" ng-click="deleteTenant(tenant)">
<span class="icon-i-trash fs" data-toggle="tooltip" title=""></span>
</a>
</div>
</td>
</tr><!-- end ngRepeat: tenant in tenants track by $index --><tr ng-repeat="tenant in tenants track by $index" class="ng-scope">
**<td class="ng-binding">RF-Account</td>**
<td>
<span class="text-bold ng-binding text-muted" ng-class="{'text-green' : tenant.status == 'ACTIVE', 'text-muted' : tenant.status == 'INACTIVE'}">INACTIVE</span>
</td>
<td style="width:118px">
<div class="pull-right">
<a name="editBtn" type="submit" class="btn-icon" ng-click="openCreateEditModal(tenant)">
<span class="icon-i-edit fs" data-toggle="tooltip" title=""></span>
</a>
<a name="deleteBtn" type="submit" class="btn-icon" ng-click="deleteTenant(tenant)">
<span class="icon-i-trash fs" data-toggle="tooltip" title=""></span>
</a>
</div>
</td>
</tr><!-- end ngRepeat: tenant in tenants track by $index --><tr ng-repeat="tenant in tenants track by $index" class="ng-scope">
<td class="ng-binding">RF-Accountfirst</td>
<td>
<span class="text-bold ng-binding text-muted" ng-class="{'text-green' : tenant.status == 'ACTIVE', 'text-muted' : tenant.status == 'INACTIVE'}">INACTIVE</span>
</td>
<td style="width:118px">
<div class="pull-right">
<a name="editBtn" type="submit" class="btn-icon" ng-click="openCreateEditModal(tenant)">
<span class="icon-i-edit fs" data-toggle="tooltip" title=""></span>
</a>
<a name="deleteBtn" type="submit" class="btn-icon" ng-click="deleteTenant(tenant)">
<span class="icon-i-trash fs" data-toggle="tooltip" title=""></span>
</a>
</div>
</td>
</tr><!-- end ngRepeat: tenant in tenants track by $index -->
</tbody>
我试图找到与文本值“ RF-Account”相对应的行。 供您参考,“ RF-Account”行可以更改。
您能帮我找到用于Robot Framework的正确关键字吗?
答案 0 :(得分:0)
重新表达您的问题-您需要一个可以让您了解的定位器,而不是robotframework关键字(该关键字为Click Element
)。
如果您的锚点是文本,那么此xpath将为您完成此操作:
//td[text()="RF-Account"]/following-sibling::td//a[@ng-click="openCreateEditModal(tenant)"]
让我解释一下:第一部分(//td[text()="RF-Account"]
)将选择一个td
元素,其文本为“ RF-Account”。然后,它将寻找后续的td
(“后继轴”),它有一个a
子代,该值具有ng-click的值-并将其返回(a
)。
顺便说一句,在示例源中没有“ openCreateEditModal(holding)”,因此我已使用“ tenant”对其进行了更改。
答案 1 :(得分:0)
要获得计数,您可以使用
获取匹配的XPath计数// td [。=“ RF-Account”]