Вместо того, чтобы использовать точный путь, попробуйте определить элемент более общим способом. Использование «содержит» поможет вам идентифицировать элементы с текстовыми атрибутами, не вдаваясь в то, как он определен. Таким образом, даже структура DOM изменяется, но при неизменном тексте ваши тесты не пройдут.
Содержит
Это очень удобный локатор XPath Selenium, который иногда спасает жизнь инженера по автоматизации тестирования. Когда атрибут элемента является динамическим, тогда вы можете использовать функции содержимого () для константной части веб-элемента, но также можете использовать функцию «(») в любых условиях, когда вам нужно.
Синтаксис: // тег [содержит (@attribute, ‘значение‘)]
Пример: // input [содержит (@id, 'er-messa')]
Примеры:
Java
1
2
3
4
5
6
7
8
// * [содержит (@ имя, 'btnClk')]
-> Поиск "btnClk" для всех атрибутов имени в DOM.
// * [содержит (текст (), 'здесь')]
-> Поиск текста «здесь» в DOM.
// * [содержит (@ HREF, 'swtestacademy.com')]
-> Он ищет ссылку "swtestacademy.com" в DOM.