Используйте Xpath, чтобы получить все строки таблицы после определенной строки в Automation Anywhere - PullRequest
0 голосов
/ 15 ноября 2018

Я пытаюсь получить значения всех строк после определенной строки (эту конкретную строку можно определить с помощью идентификатора) с помощью xpath.Пожалуйста, обратите внимание, что я использую его в команде клонирования объектов автоматизации где угодно, чтобы найти и получить детали.Допустим, это таблица:

<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>

Здесь, в приведенной выше таблице, мне нужно получить все имена после строки Claimants.Есть предложения?

Ответы [ 3 ]

0 голосов
/ 15 ноября 2018

Для вашего простого примера вы можете сделать следующее в редакторе Automation Anywhere:

Добавить команду цикла с условием Times, равным 2

Внутри объекта цикла клонируйте одно из полей, к которым вы хотите получить доступ, и измените значение DOMXPath на

.
/html/body/table[1]/tbody[1]/tr[$Counter$+3]/td[1]/a[1]

Выберите Action как Get Property и Select Property до HTML InnerText Присвойте это переменной по вашему выбору

Вывести эту переменную с помощью команды в окне сообщения

При запуске вы должны увидеть два имени.

В этом мы используем переменную счетчика AA для итерации по DOMXPath. Я изменил его на 3, так как перед строкой, на которой вы хотите начать

, есть 3 <tr> тега.
0 голосов
/ 10 января 2019

Я не уверен, что уже слишком поздно отвечать или нет. Я думаю, что следующий XPath соответствует вашему состоянию.

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

* Вы можете изменить /tr/td/a на /tr или /tr/td в зависимости от того, к какому элементу вы хотите получить доступ

Я пробую этот XPath в Консоль поиска XPath в Google Chrome, и он переходит ко всем a тегам после строки с ID = претендентов .

Поскольку я довольно новичок в АА, я не знаю, как перебирать теги, получаемые из XPath. Но я надеюсь, что это поможет вам решить проблему. :)

[Обновление] Я нашел решение
1. Используя //tr[td[span[@id='claimants']]] с Object Cloning, получите индекс конкретной строки. Допустим, значение индекса хранится в переменной $vIndex$
2. Переберите все td в таблице
3. Если $Counter$> $vIndex$ THEN, то есть строка под определенной строкой.

0 голосов
/ 15 ноября 2018

Вам необходимо проверить данные preceding-sibling следующим образом:

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

Вы можете попробовать это согласно вашему комментарию:

/table[@class='actiontable']/descendant::tr[normalize-space(lower-case(.))!= 'claimants']
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...