Напишите один xpath, чтобы проверить, имеют ли несколько строк (td) определенные значения - PullRequest
0 голосов
/ 10 февраля 2019

Я использую ROBOT Framework с Selenium2Library.У меня есть таблица с несколькими столбцами.Я хочу найти, какая строка в этой таблице имеет определенный текст / вывод, который я хочу.Для этого случая меня интересуют столбцы 2,3,4,5 и 6, как показано ниже.Вопрос в том, как сделать этот xpath одним запросом xpath?В этом случае в этой таблице много строк (tr).

<table>
 <tbody>
 <tr>
  ...
  <td></td> # column 2 must have this output ->'ROUTE A'
  <td></td> # column 3 must have this output ->'ROUTE B'
  <td></td> # column 4 must have this output ->'Intermediate'
  <td></td> # column 5 must have this output ->'Sent'
  <td></td> # column 6 must have this output ->'No'
 <tr>..</tr>
 <tr>..</tr>
 ...

1 Ответ

0 голосов
/ 10 февраля 2019

Этот запрос xpath может быть записан в одну строку, как показано ниже ..

//table/tbody/tr[(td[2]='ROUTE A') and (td[3]='ROUTE B') and (td[4]='Intermediate') and (td[5]='Sent') and (td[6]='No')]

Для записи в ROBOT Framework:

WAIT UNTIL PAGE CONTAINS ELEMENT    xpath=//table/tbody/tr[(td[2]='ROUTE A') and (td[3]='ROUTE B') and (td[4]='Intermediate') and (td[5]='Sent') and (td[6]='No')]   

ИЛИ мы можем присвоить результат (логическое значение)в переменной, как показано ниже ..

${found}= RUN KEYWORD AND RETURN STATUS     WAIT UNTIL PAGE CONTAINS ELEMENT    xpath=//table/tbody/tr[(td[2]='ROUTE A') and (td[3]='ROUTE B') and (td[4]='Intermediate') and (td[5]='Sent') and (td[6]='No')] 
...