html - 通过它的 parent 的另一个 child 来获取 child

标签 html xpath

我的 HTML 看起来像这样:

<div class="parent">
    <div class="url">
        <a href="http://url.com/view/12">LINK</a>
    </div>

    <div class="stats">
        <div class="a">12</div>
        <div class="b">14</div>
    </div>
</div>
<div class="parent">
    <div class="url">
        <a href="http://url.com/view/364">LINK</a>
    </div>

    <div class="stats">
        <div class="a">133</div>
        <div class="b">13</div>
    </div>
</div>
<div class="parent">
    <div class="url">
        <a href="http://url.com/view/24324">LINK</a>
    </div>

    <div class="stats">
        <div class="a">4</div>
        <div class="b">46</div>
    </div>
</div>

这是否有可能让另一个 parent 的 child 找到同一个 parent 的 child ?

所以,我想获取类(class)的内容b的第二个 parent 。但我想找到它是href范围。

像那样-
  • XPath 找到具有子 url 的父级和 ahref参数http://url.com/view/364
  • XPath 获取类 b 的内容在同一个父

  • 如果你不明白,我基本上需要 XPath 获取编号 13 (b 的内容),但使用 href 找到它范围。

    这可能吗?如何做到这一点?

    最佳答案

    一种更简洁的方法是(换行仅是为了便于阅读)

    //div[@class = 'parent' and div[@class = 'url']
    /a/@href = 'http://url.com/view/364']/div[@class = 'stats']/div[@class = 'b']
    

    它比您自己找到的答案要好(实际上,您自己找到答案是一件好事!)因为其中没有不必要的父轴( .. )步骤。

    它比
    (//a[@href='http://url.com/view/364']/following::div[@class='b'])[1]
    

    因为following::div[@class = 'b']选择 div上下文项之后的元素,即使它在另一个 div[@class = 'parent'] 中.例如,如果文档看起来像
    <html>
    <div class="parent">
        <div class="url">
            <a href="http://url.com/view/364">LINK</a>
        </div>
    
        <div class="stats">
            <div class="a">133</div>
        </div>
    </div>
    <div class="parent">
        <div class="url">
            <a href="http://url.com/view/24324">LINK</a>
        </div>
    
        <div class="stats">
            <div class="a">4</div>
            <div class="b">46</div>
        </div>
    </div>
    </html>
    

    那么结果将是
    <div class="b">46</div>
    

    关于html - 通过它的 parent 的另一个 child 来获取 child ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34841970/

    相关文章:

    javascript - 为javascript创建按钮

    php - 在 html<img> 标签中显示来自 curl 请求的图像

    html - Chrome 和 Internet Explorer 中的 DIV 元素

    javascript - 检索浏览器中所选文本的 xpath

    xpath - 测试自动化框架提供了哪些我使用 Selenium Webdriver 编写脚本的方法没有提供的功能?

    sql - 来自一个数据透视表的SQL FOR XML多层

    xpath - XPath查询-选择相对的顶级节点

    javascript - jQuery ().on 语法

    html - 带有文本和全高 <img> 的动态等高列

    c# - 在 C# 中从 XML 数据库字符串获取 XML 值