Это прекрасно работает для поиска HTML-элементов, похожих на кнопки (намеренно упрощено):
//button[text()='Buy']
| //input[@type='submit' and @value='Buy']
| //a/img[@title='Buy']
Теперь мне нужно ограничить это контекстом.Например, кнопка «Купить», которая появляется внутри поля с надписью:
//legend[text()='Flubber']
И это работает, (.. возвращает нас к содержащему набор полей):
//legend[text()='Flubber']/..//button[text()='Buy']
| //legend[text()='Flubber']/..//input[@type='submit' and @value='Buy']
| //legend[text()='Flubber']/..//a/img[@title='Buy']
Но есть лиспособ упростить это?К сожалению, такого рода вещи не работают:
//legend[text()='Flubber']/..//(
button[text()='Buy']
| input[@type='submit' and @value='Buy']
| a/img[@title='Buy'])
(Обратите внимание, что это для XPath в браузере, поэтому решения XSLT не помогут.)