使用Xpath获取表中所有行的位置,该位置位于Automation Anywhere中特定行之后

时间:2018-11-15 07:36:52

标签: xpath automationanywhere

我正在尝试使用xpath获取特定行(可以使用id标识此特定行)之后的所有行的值。请注意,我在自动化的任何对象克隆命令中都使用它来查找和获取详细信息。 可以说这是桌子:

<table class="actiontable" >
<tbody>
<tr></tr>
<tr></tr>
<tr id="h32423">
<td class="claim"><span id="claimants">Claimants</span></td>
</tr>
<tr id="a23">
<td id="g543"><a href="some site">Edward Hunter</a> </td>
</tr>
<tr>
<td id="g544"><a href="some site">Jane Doe</a> </td>
</tr>
<tr></tr>
</tbody>
</table>

在上表中,我需要提取“索赔人”行之后的所有名称。有什么建议吗?

3 个答案:

答案 0 :(得分:0)

您需要像这样检查preceding-sibling数据:

//tr[preceding-sibling::tr[normalize-space(.)='Claimants']]

您可以根据自己的评论进行尝试:

/table[@class='actiontable']/descendant::tr[normalize-space(lower-case(.))!= 'claimants']

答案 1 :(得分:0)

对于您的简单示例,可以在Automation Anywhere编辑器中执行以下操作:

添加条件为Times的{​​{1}}的循环命令

在循环对象内部,克隆您要访问的字段之一,并将2更改为

DOMXPath

选择/html/body/table[1]/tbody[1]/tr[$Counter$+3]/td[1]/a[1] Action,选择Get PropertySelect Property 将此分配给您选择的变量

通过消息框命令输出此变量

运行时,您应该会看到显示了两个名称。

在此,我们使用AA计数器变量遍历DOMXPath。我已将其调整为3,因为您要开始的行之前有3个HTML InnerText标签

答案 2 :(得分:0)

我不确定回答是否为时已晚。我认为以下XPath符合您的条件。

//tr[td[span[@id='claimants']]]/following-sibling::tr/td/a

*您可以根据要访问的元素将/tr/td/a更改为/tr/tr/td

我在Google Chrome的 XPath搜索控制台中尝试了该XPath,它导航到ID = claimers 的行之后的所有a标签。

由于我对AA很陌生,所以我不知道如何遍历从XPath获取的那些标签。但我希望这可以帮助您解决问题。 :)

[更新] 我找到了解决方法
1.将//tr[td[span[@id='claimants']]]与对象克隆一起使用以获取特定行的索引。假设索引值存储在变量$vIndex$
中 2.遍历表中的所有td
3.如果$Counter$> $vIndex$则是特定行下的行。