xpath从父级中选择兄弟

时间:2012-12-03 20:51:42

标签: xpath

我是xpath的新手,所以请原谅我。我有多个使用令牌的自动填充功能。我正在尝试根据来自父<p>的文字Some Text 1选择子div.title=title并获取兄弟span.remove-token

实施例

<div title="title">
    <ul class="token-list">
        <li class="input-token"
            <p>Some Text 1</p>
            <span class="remove-token">x</span>
        </li>
        <li class="input-token"
            <p>Some Text 2</p>
            <span class="remove-token">x</span>
        </li>
    </ul>
</div>

我尝试了什么

String path = "//div[contains(@title, 'title')]/p[text()="Some Text 1"]/following-sibling::span]";

2 个答案:

答案 0 :(得分:3)

使用

//div[@title = 'title']//li/p[. = 'Some Text 1']/following-sibling::span[1]

答案 1 :(得分:2)

尝试

//div[contains(@title,'title')]//p[text()="Some Text 1"]/following-sibling::span

有两个小错误:

  1. 表达式
  2. 末尾有一个不必要的]
  3. p元素不是div的直接子元素,因此您必须搜索所有后代