Xpath для соответствия регистрозависимости нескольких строк
Мне нужно ввести значение поля в приложении, а не уникальный атрибут для этого поля. Поэтому я использую функцию text(), и это сработало. Это приложение немного меняется между поставщиками.
В приложении для vendor1 имя поля: Физический адрес улицы
для другого поставщика это физический адрес
Streed и Address чувствительны к регистру между двумя поставщиками, и из-за этого мой скрипт не работает.
Мой xpath, который работает для второго поставщика, но не работает для первого:
//tr[td[contains(text(),'Physical Street Address')]]/td//input[contains(@id, 'part1')]
Я проверил с переводом, но он не работает.
2 ответа
Не уверен почему translate()
не работал на вашем конце. Возможно, ваши испытания кода помогли нам отладить проблему. Вы можете использовать следующее решение:
//tr[td[translate('Physical Street Address','abcdefghijklmnopqrstuvwxyz','ABCDEFGHIJKLMNOPQRSTUVWXYZ')]]/td//input[contains(@id, 'part1')]
Я уверен, что есть более элегантное решение, но я думаю, что оно должно работать тоже
//tr[td[contains(text(),'Physical Street Address') or contains(text(),'Physical street Address')]]/td//input[contains(@id, 'part1')]