获取当前表之前的表中的单元格

时间:2019-07-19 19:12:22

标签: xpath

请参见下面的html。有一系列表,其中包含名称属性为name =“ laneStop”的行。我可以在Chrome开发者控制台中选择这些行

$x("/html[1]/body[1]//TR[@name='laneStop']")


但是,我还需要在这些行的上方获取第一张表第二行的第二个单元格。值

  

abc_123_florida-45

这是html。上面提到这个值的方法是什么-知道我先获取了“ laneStop”行

<!DOCTYPE html>

<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta charset="utf-8" />
    <title></title>
</head>
<body>
    <table border="1">
        <tbody>
            <tr>
                <td>
                    <table>
                        <tbody>
                            <tr>
                                <td>
                                    <table>
                                        <tbody>
                                            <tr>
                                                <td>Date</td>
                                                <td>11/15/2019</td>
                                            </tr>
                                            <tr>
                                                <td>shipment number</td>
                                                <td>abc_123_florida-45</td>
                                            </tr>
                                            <tr>
                                                <td>Departure time:</td>
                                                <td>0430</td>
                                            </tr>
                                        </tbody>
                                    </table>
                                </td>
                                <td>
                                    <table>
                                        <tbody>
                                            <tr>
                                                <td>Time arrival</td>
                                                <td>1715</td>
                                            </tr>
                                            <tr>
                                                <td>customer</td>
                                                <td>bob smith</td>
                                            </tr>
                                            <tr>
                                                <td>box type</td>
                                                <td>square</td>
                                            </tr>
                                        </tbody>
                                    </table>
                                </td>
                            </tr>
                        </tbody>
                    </table>
                </td>
            </tr>

        </tbody>
    </table>
    <table border="1">
        <tbody>
            <tr>
                <td>
                    <table>
                        <tbody>
                            <tr name="laneStop">
                                <td>box1</td>
                                <td>23.45</td>
                                <td>lane1</td>
                                <td>south</td>
                            </tr>
                            <tr name="laneStop">
                                <td>box2</td>
                                <td>17.14</td>
                                <td>lane1</td>
                                <td>south</td>
                            </tr>
                            <tr name="laneStop">
                                <td>box3</td>
                                <td>17.18</td>
                                <td>lane1</td>
                                <td>north</td>
                            </tr>
                            <tr name="laneStop">
                                <td>box2</td>
                                <td>199.14</td>
                                <td>lane1</td>
                                <td>west</td>
                            </tr>
                        </tbody>
                    </table>   
                </td>
            </tr>
        </tbody>
    </table>
</body>
</html>

2 个答案:

答案 0 :(得分:1)

尝试以下xpath。

//td[text()='shipment number']/following::td[1]

演示:

enter image description here

答案 1 :(得分:0)

如果要从当前节点(即“ laneStop”行)出发,一种方法是使用以下xpath表达式:

./preceding-sibling::*/ancestor::*[6]/preceding-sibling::table[1]//tr[1]/td[1]/table[1]//td[1]//tr[2]/td[2]

我很好奇它是否对您有用。