Столкнувшись с трудностями при создании x-path - PullRequest
0 голосов
/ 02 апреля 2020

Я использую JAVA Селен-3 для создания x-path, структура DOM выглядит следующим образом:

enter image description here

In этот DOM

<span class="ant-table-column-title" xpath="1">Inspection_Status</span>

- это имя столбца.

и

<svg fill="currentColor" preserveAspectRatio="xMidYMid meet" height="1em" width="1em" viewBox="0 0 40 40" type="filter" class="ant-table-filter-icon custom-table-filter-icon ant-dropdown-trigger" title="Filter menu" style="vertical-align: middle; color: rgb(255, 255, 255);" xpath="3">

- это раскрывающийся список. Я хочу щелкнуть раскрывающийся список.

Я создал xpath:

1. //th[6]//*[@title='Filter menu']
2. //th[6]//*[local-name()='svg']

, но я не хочу включать тег 'th' в x-path, потому что есть несколько тегов 'th' и позиция столбца изменяется. Если я получу xpath, включающий имя столбца, которое будет заполнено справкой.

Примечание. Столбец и раскрывающийся список связаны, если положение столбца зависло, то положение раскрывающегося меню также изменяется относительно столбца.

Спасибо,

Ответы [ 2 ]

1 голос
/ 02 апреля 2020

Вы можете использовать ссылку span column, если text равно unique.

//span[@class='ant-table-column-title' and text()='Inspection_Status']/ancestor::th[1]//*[local-name()='svg']

Обновление : попробуйте [last ()]

(//span[@class='ant-table-column-title' and text()='Inspection_Status']/ancestor::th[1]//*[local-name()='svg'])[last()]
0 голосов
/ 02 апреля 2020

Пожалуйста, попробуйте следующее решение, чтобы нажать на элемент SVG:

 //*[local-name()='svg']//*[name()='g']//*[name()='path']//ancestor::th[starts-with(@class,'ant-table-column-has-actions ant-table-column-has-filters')]//span[@class='ant-table-column-title']
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...