Предположим, что у меня это (упрощенное):
<form id="myform">
<!-- some input fields -->
<input type="submit" value="proceed"/>
</form>
Затем я могу выбрать кнопку отправки XPath //form[@id='myform']/input[@type='submit']
. Отлично.
Тем не менее, мои шаблоны могут измениться, и я хочу быть гибкими в глубине, в которой находится кнопка отправки. Он может быть помещен в таблицу, например:
<form id="myform">
<!-- some input fields -->
<table><tr><td>
<input type="submit" value="proceed"/>
</td></tr></table>
</form>
Я знаю, что я могу выбрать элементы, которые являются внуками, но я не могу выбрать гранд-гранд-гранд -... любой глубины. Например:.
-
//form[@id='myform']/*/input[@type='submit']
выбирает только грандов-детей, дальнейших глубин. -
//form[@id='myform']/*/*/input[@type='submit']
выбирает только grand-grand-children, без дальнейших или меньших глубин. -
//form[@id='myform']/**/input[@type='submit']
недействителен.
Итак, как я могу правильно выбрать эту кнопку отправки без использования идентификаторов элементов?