如何使用nokogiri在指定元素之后选择元素



以下表为例,我知道如何通过xapth的text()函数匹配<td>'Title_A'</td>,是否有任何直接的方法来选择它之后的<td> text_unknown </td> ?:

<table>
    <tr><td rowspan=2> Title_A </td>    <td> text_unknown </td></tr>
                                    <tr><td> text_unknown </td></tr>
    <tr><td rowspan=2> Title_B </td>    <td> text_unknown </td></tr>
                                    <tr><td> text_unknown </td></tr>
    <tr><td rowspan=4> Title_C </td>    <td> text_unknown </td></tr>
                                    <tr><td> text_unknown </td></tr>
                                    <tr><td> text_unknown </td></tr>
                                    <tr><td> text_unknown </td></tr>
</table>

假设您正在用以下XPath匹配'Title_A':

//td[text()='Title_A']

下一个单元格是

//td[text()='Title_A']/following-sibling::td[1]

或者,如果在变量中已经有标题单元格:

title_a = doc.xpath("//td[text()='Title_A']")

那么你可以使用DOM方法next_sibling:

next_cell = title_a.next_sibling

html使用css, xml使用xpath。+是css下一个相邻的兄弟选择器。

doc.at('td[text()="Title_A"] + td')

我在Title_A周围看到一些空格,所以可能是:

doc.at('td[text()*="Title_A"] + td')

相关内容

  • 没有找到相关文章

最新更新