Для неструктурированных ссылок, вы можете попробовать что-то вроде //body/descendant::a[text()='a link'][9]
. Ось потомка сгладит все теги «a» потомка, поэтому position() примет порядок, который они будут отображаться в документе, вместо того, чтобы основываться на предыдущих братьях и сестрах каждого тега.
Если ссылки полуструктурированные как показано ниже, а затем что-то вроде
//div[@id='fu']//a[text()='a link']/../following-sibling::*//a[text()='a link']/../following-sibling::*//a[text()='a link']/../following-sibling::*//a[text()='a link']/../following-sibling::*//a[text()='a link']/../following-sibling::*//a[text()='a link']/../following-sibling::*//a[text()='a link']/../following-sibling::*//a[text()='a link']/../following-sibling::*//a[text()='a link']
может найти вам ссылку 9th соответствия с данной структурой.
<p>a segment, outside the containing div, with <a href="www.google.com">a link</a>.</p>
<div id="fu">
<p>some text <a href="www.google.com">a link</a>.</p>
<p>some text <a href="www.google.com">a link</a>.</p>
<p>some text <a href="www.google.com">a different link</a>.</p>
<p>some text <a href="www.google.com">a link</a>.</p>
<p>some text <a href="www.google.com">a link</a>.</p>
<p>some text <a href="www.google.com">a link</a>.</p>
<p>some text <a href="www.google.com">a link</a>.</p>
<p>some text <a href="www.google.com">a link</a>.</p>
<p>some text <a href="www.google.com">a link</a>.</p>
<p>some text <a href="www.google.com">a link</a>.</p>
<p>some text <a href="www.google.com">a link</a>.</p>
<p>some text <a href="www.google.com">a link</a>.</p>
<p>some text <a href="www.google.com">a link</a>.</p>
<div></div></div>
что, если это не структура, это все под DIV, я хотел бы перебирать с помощью индекса – user121196
Вы, вероятно, может использовать ось потомок.Я обновил свой ответ, чтобы включить пример использования. –