короче полностью разобрался в этом вопросе
всё что выше - не правильное решение. Если кто желает обмазаться пониманием того как на самом деле работает, предикат last() и [0] рекомендую поиграться вот тут например: http://xpather.com/
код для примера:
<div> <input> <input> <div> <input> <div> <input> <input> <div> <input> <input> <input> </div> <input> </div> <input> <input> </div> </div>Правильным решением моего вопроса оказалось вот такое решение (обратите внимание на круглые скобки):
(//div//input)[last()]То есть мы сначала выбираем все инпуты на странице, а потом ко всей выборке применяем предикат last()
Разница между
//div//input[last()]в том, что крайний пример выберет все последние инпуты во всех последних контейнерах. То есть их будет несколько. В то время как круглые скобки указывают сначала сделать выборку по всем инпутам, на странице, а потом уже среди них взять самый последний.
Мало ли кому пригодится мой опыт.