html XPath通过不同元素的位置查找元素

j8yoct9x  于 2022-12-16  发布在  其他
关注(0)|答案(1)|浏览(121)

示例html:

<table>
    <thead>
        <tr>
            <td class="foo"></td>
            <td class="bar"></td>
            <td class="buzz"></td>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>1</td>
            <td>2</td>
            <td>3</td>
        </tr>
        <tr>
            <td>4</td>
            <td>5</td>
            <td>6</td>
        </tr>
    </tbody>
</table>

问题

我有行位置(//tbody/tr[X])和头类(//thead//td[@class="XXX"]
我想使用行和列查找表格数据单元格
例如,<td>5</td>可以通过//tbody/tr[2]//thead//td[@class="bar"]定位
伪xpath:
//tbody/tr[2]/td[position() = //thead//td[@class="bar"]::position()]
我是调整与ancestor::轴,但它是死胡同。
你知道怎么写吗?

ubbxdtey

ubbxdtey1#

尝试使用此XPath选择所需节点:

//tbody/tr[2]/td[position() = count(//thead/tr/td[@class="bar"]/preceding-sibling::*) + 1]

我们检查的不是位置,而是前面的兄弟节点的 * 计数+1 *

相关问题