XPath指向表中特定元素旁边的元素

XPath指向表中特定元素旁边的元素,xpath,Xpath,我有如下HTML结构: <table> <tr> <td>some value 1</td> <td>unique value 1</td> <td>needed value 1</td> <td>some value 1</td> </tr> <tr>

我有如下HTML结构:

<table>
    <tr>
        <td>some value 1</td>
        <td>unique value 1</td>
        <td>needed value 1</td>
        <td>some value 1</td>
    </tr>


    <tr>
        <td>some value 2</td>
        <td>unique value 2</td>
        <td>needed value 2</td>
        <td>some value 2</td>
    </tr>

    <tr>
        <td>some value 3</td>
        <td>unique value 3</td>
        <td>needed value 3</td>
        <td>some value 3</td>
    </tr>

</table>
有没有更简单的方法?
问题是表的结构可能会随着时间的推移而改变,但所需的值将始终位于unique的旁边,而不是使用前面的同级,而是使用后面的同级:

//td[text()=“唯一值2”]/以下同级::td[1]

我遗漏了什么吗?在您提供的XML中,我看不到
元素,但在您提供的XPath中,您测试了此元素。很抱歉,我试图切断一些元素以使示例更清晰,但忘记了从XPath中切断它们。更正。
//tr[./td[text()='Unique value 2']]/td[position()=count(//tr[./td[text()='Unique value 2']]/td[text()='Unique value 2']//preceding-sibling::td)+2]