Припустимо, у мене є це (спрощене):
<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']
лише відбирає дідусів-внуків, без подальших чи менших глибин.//form[@id='myform']/**/input[@type='submit']
недійсний.
Отже, як мені надійно вибрати цю кнопку надсилання, не використовуючи ідентифікатори елементів?
//form//input
повертає нуль у C #, тоді як Chrome може знайти 35 входів, використовуючи один і той же xpath