Использование подстановочных знаков XPath в атрибутах в Selenium WebDriver - программирование
Подтвердить что ты не робот

Использование подстановочных знаков XPath в атрибутах в Selenium WebDriver

Я хочу использовать подстановочные знаки в своих атрибутах. Например, это мой обычный XPath:

//input[@id='activation:j_idt84:voId:1']`

Я хочу заменить число j_idt на подстановочный знак, потому что число является динамическим. Я ищу что-то вроде этого:

//input[@id='activation:*:voId:1']

Я не знаю, как решить эту проблему. Возможна ли моя идея?

4b9b3361

Ответ 1

К сожалению, в XPath нет подстановочных знаков. Однако вы можете использовать несколько contains() и starts-with() для фильтрации таких вещей.

//input[starts-with(@id, 'activation:') and contains(@id, ':voId:1')]

Кроме того, этот ответ также может быть полезен: selenium: возможно ли использовать регулярное выражение в локаторах селена

Ответ 2

С помощью функции matches, доступной в XPath 2.0, вы можете использовать подстановочные знаки для строк:

//input[matches(@id, 'activation:.*:voId:1')]