Примеры XPath
Написал эту памятку, в первую очередь для самого себя. Потому что без практики забывается.
Упражняемся с помощью онлайн-инструмента: https://www.atatus.com/tools/xpath-validator
Находим кнопку с текстом
![](https://geniy1s.ru/wp-content/uploads/2023/12/image-44.png)
//button/span[text() = 'Скачать выписку']/..
![](https://geniy1s.ru/wp-content/uploads/2023/12/image-45.png)
Две точки в конце возвращают поиск наверх, к владельцу, без них будет найден сам элемент span:
//button/span[text() = 'Скачать выписку']
![](https://geniy1s.ru/wp-content/uploads/2023/12/image-46.png)
Поиск верхнего элемента по опорному, а потом уже поиск в нем
![](https://geniy1s.ru/wp-content/uploads/2023/12/image-47.png)
В блоке Div содержится input, а за ним span с текстом, по которому можно идентифицировать этот элемент:
![](https://geniy1s.ru/wp-content/uploads/2023/12/image-49.png)
//span[text() = '1С']/../..//input
![](https://geniy1s.ru/wp-content/uploads/2023/12/image-48.png)
Кодом находим сначала опорный элемент, потом его родителя и еще раз родителя (DIV), потом внутри уже ищем input.
Поиск элемента по атрибуту
![](https://geniy1s.ru/wp-content/uploads/2023/12/image-50.png)
.//input[contains(@aria-label, 'Дата начала периода')]
![](https://geniy1s.ru/wp-content/uploads/2023/12/image-51.png)
Поиск соседнего поля
Ищем ключевое поле TD, а потом соседнее с ним поле TD.
![](https://geniy1s.ru/wp-content/uploads/2024/04/image-14.png)
//tr/td[text()='USD/INR']/../td[@data-label='TT SELL']
![](https://geniy1s.ru/wp-content/uploads/2024/04/image-15.png)
![](https://geniy1s.ru/wp-content/uploads/2023/12/image-52-1024x479.png)
Свежие комментарии